
Путь: Toys/Other, команды версии: Ver.4 Ver.9 free Комментарии в файле free.c :
Исходный текст в файле free.c #define FOR_free
#include "toys.h"
GLOBALS(
unsigned bits;
unsigned long long units;
char *buf;
)
static char *convert(unsigned long d)
{
long long ll = d*TT.units;
char *s = TT.buf;
if (FLAG(h)) human_readable(s, ll, 0);
else sprintf(s, "%llu",ll>>TT.bits);
TT.buf += strlen(TT.buf)+1;
return s;
}
void free_main(void)
{
struct sysinfo in;
sysinfo(&in);
TT.units = in.mem_unit ? in.mem_unit : 1;
while ((toys.optflags&(FLAG_h-1)) && !(toys.optflags&(1<<TT.bits))) TT.bits++;
TT.bits *= 10;
TT.buf = toybuf;
xprintf("\t\ttotal used free shared buffers\n"
"Mem:%17s%12s%12s%12s%12s\n-/+ buffers/cache:%15s%12s\n"
"Swap:%16s%12s%12s\n", convert(in.totalram),
convert(in.totalram-in.freeram), convert(in.freeram), convert(in.sharedram),
convert(in.bufferram), convert(in.totalram - in.freeram - in.bufferram),
convert(in.freeram + in.bufferram), convert(in.totalswap),
convert(in.totalswap - in.freeswap), convert(in.freeswap));
} |
![]() |