De onde o vmstat obtém sua estatística de "memória usada"?

1

Se você executar vmstat -s , ele exibirá estatísticas sobre seu sistema. Eu estou querendo saber o que faz para calcular a estatística used memory (destacada abaixo). Esta não é uma estatística que eu possa encontrar em /proc/meminfo .

user@machine:# vmstat -s
      7483816 K total memory
      **4740624 K used memory**
      3619096 K active memory
       800388 K inactive memory
      2743192 K free memory
       220624 K buffer memory
      1989008 K swap cache
       901116 K total swap
            0 K used swap
       901116 K free swap *snip*

Como o vmstat obtém esses dados?

    
por Questionmark 30.11.2016 / 16:26

1 resposta

1

vmstat obtém o status da memória virtual de /proc/meminfo e /proc/vmstat e informações relacionadas ao processador de /proc/stat :

% strace -fe open vmstat -s
...
open("/proc/meminfo", O_RDONLY)         = 3
open("/proc/stat", O_RDONLY)            = 4
open("/proc/vmstat", O_RDONLY)          = 5
...

Para a memória usada, no link :

if (mem_used < 0)     
  mem_used = kb_main_total - kb_main_free;   
kb_main_used = (unsigned long)mem_used;
    
por 30.11.2016 / 16:29