vmstat's Total Memory Statistic

1

Estou analisando o uso de memória em um sistema Linux. Quando executo o vmstat -s, vejo o seguinte:

waffleman@waffle-iron:~$ vmstat -s
      3549184 K total memory
      3206708 K used memory
      1918012 K active memory
      1037320 K inactive memory
       342476 K free memory
       301448 K buffer memory
      1748772 K swap cache
            0 K total swap
            0 K used swap
            0 K free swap
      5481272 non-nice user cpu ticks
       763306 nice user cpu ticks
      3570165 system cpu ticks
    996097114 idle cpu ticks
        72862 IO-wait cpu ticks
           27 IRQ cpu ticks
        35837 softirq cpu ticks
            0 stolen cpu ticks
      1718539 pages paged in
     69439772 pages paged out
            0 pages swapped in
            0 pages swapped out
    460599379 interrupts
   1697890087 CPU context switches
   1314014908 boot time
       307904 forks

Eu sei que o sistema tem 4096 MB de RAM instalada, mas por que ele mostra apenas 3466 MB? Isso pode ser interpretado como memória total "disponível"? Talvez os 630 MB ausentes estejam sendo usados pelo kernel e não possam ser paginados?

Eu também tentei isso em um sistema Embedded Linux e vi um resultado semelhante. O chip DRAM tem 128 MB, mas apenas 124 MB aparecem na vmstat.

    
por waffleman 20.09.2011 / 15:13

1 resposta

0

A "memória total" é a memória total gerenciada pelo kernel.

Outra coisa é usar essa memória ou impedir que o kernel use essa memória. Há muitas coisas que poderiam ser. Por exemplo, se este for um sistema operacional de 32 bits sem PAE, outros mapeamentos podem estar consumindo espaço de endereço, deixando menos de 4 GB. O BIOS usa alguma memória para estruturas que ele preenche para passar para o sistema operacional. Uma placa de vídeo com memória compartilhada pode consumir alguma memória. E assim por diante.

    
por 20.09.2011 / 15:21