Справочник по консольным командам Toybox для Android 12


  Ver.0.8.4     Ver.0.8.9     Pending  

Путь: Toys/Other, команды версии: Ver.4     Ver.9


free

Комментарии в файле free.c :

usage: free [-bkmgt]

Отображение общего, свободного и используемого объема физической памяти и пространства подкачки.
  • -bkmg Единицы вывода (по умолчанию байты)
  • -h Удобочитаемый (K=1024)

  • usage: free [-bkmgt]

    Display the total, free and used amount of physical memory and swap space.
  • -bkmg Output units (default is bytes)
  • -h Human readable (K=1024)

  • Исходный текст в файле 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));
    }