aboutsummaryrefslogtreecommitdiff
path: root/toys/free.c
diff options
context:
space:
mode:
Diffstat (limited to 'toys/free.c')
-rw-r--r--toys/free.c60
1 files changed, 0 insertions, 60 deletions
diff --git a/toys/free.c b/toys/free.c
deleted file mode 100644
index 99dca86d..00000000
--- a/toys/free.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/* vi: set sw=4 ts=4:
- *
- * free.c - Display amount of free and used memory in the system.
- *
- * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com>
- *
- * Not in SUSv4.
-
-USE_FREE(NEWTOY(free, "gmkb", TOYFLAG_USR|TOYFLAG_BIN))
-
-config FREE
- bool "free"
- default y
- help
- usage: free [-bkmg]
-
- Display the total, free and used amount of physical memory and
- swap space.
-
- -bkmg Output in bytes (default), KB, MB or GB
-*/
-
-#include "toys.h"
-
-static unsigned long long convert(unsigned long d, unsigned int iscale,
- unsigned int oscale)
-{
- return ((unsigned long long)d*iscale)>>oscale;
-}
-
-void free_main(void)
-{
- struct sysinfo info;
- unsigned int iscale = 1;
- unsigned int oscale = 0;
-
- sysinfo(&info);
- if (info.mem_unit) iscale = info.mem_unit;
- if (toys.optflags & 1) oscale = 0;
- if (toys.optflags & 2) oscale = 10;
- if (toys.optflags & 4) oscale = 20;
- if (toys.optflags & 8) oscale = 30;
-
- xprintf("\t\ttotal used free shared buffers\n");
- xprintf("Mem:%17llu%12llu%12llu%12llu%12llu\n",
- convert(info.totalram, iscale, oscale),
- convert(info.totalram-info.freeram, iscale, oscale),
- convert(info.freeram, iscale, oscale),
- convert(info.sharedram, iscale, oscale),
- convert(info.bufferram, iscale, oscale));
-
- xprintf("-/+ buffers/cache:%15llu%12llu\n",
- convert(info.totalram - info.freeram - info.bufferram, iscale, oscale),
- convert(info.freeram + info.bufferram, iscale, oscale));
-
- xprintf("Swap:%16llu%12llu%12llu\n",
- convert(info.totalswap, iscale, oscale),
- convert(info.totalswap - info.freeswap, iscale, oscale),
- convert(info.freeswap, iscale, oscale));
-}