diff options
Diffstat (limited to 'toys/other/free.c')
-rw-r--r-- | toys/other/free.c | 76 |
1 files changed, 37 insertions, 39 deletions
diff --git a/toys/other/free.c b/toys/other/free.c index aa344928..3281d79b 100644 --- a/toys/other/free.c +++ b/toys/other/free.c @@ -1,59 +1,57 @@ -/* vi: set sw=4 ts=4: - * - * free.c - Display amount of free and used memory in the system. +/* free.c - Display amount of free and used memory in the system. * * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com> USE_FREE(NEWTOY(free, "gmkb", TOYFLAG_USR|TOYFLAG_BIN)) config FREE - bool "free" - default y - help - usage: free [-bkmg] + bool "free" + default y + help + usage: free [-bkmg] - Display the total, free and used amount of physical memory and - swap space. + Display the total, free and used amount of physical memory and + swap space. - -bkmg Output in bytes (default), KB, MB or GB + -bkmg Output in bytes (default), KB, MB or GB */ #define FOR_free #include "toys.h" static unsigned long long convert(unsigned long d, unsigned int iscale, - unsigned int oscale) + unsigned int oscale) { - return ((unsigned long long)d*iscale)>>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 & FLAG_b) oscale = 0; - if (toys.optflags & FLAG_k) oscale = 10; - if (toys.optflags & FLAG_m) oscale = 20; - if (toys.optflags & FLAG_g) 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)); + struct sysinfo info; + unsigned int iscale = 1; + unsigned int oscale = 0; + + sysinfo(&info); + if (info.mem_unit) iscale = info.mem_unit; + if (toys.optflags & FLAG_b) oscale = 0; + if (toys.optflags & FLAG_k) oscale = 10; + if (toys.optflags & FLAG_m) oscale = 20; + if (toys.optflags & FLAG_g) 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)); } |