vmstat Statistique de la mémoire totale

1

J'analyse l'utilisation de la mémoire sur un système Linux. Lorsque je lance vmstat -s, je vois ce qui suit:

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

Je sais que 4096 Mo de RAM sont installés sur le système, mais pourquoi ne montre-t-il que 3 466 Mo? Cela peut-il être interprété comme une mémoire "disponible" totale? Peut-être que les 630 Mo manquants sont utilisés par le noyau et ne peuvent pas être paginés?

J'ai également essayé ceci sur un système Linux embarqué et j'ai obtenu un résultat similaire. La puce DRAM a 128 Mo, mais seulement 124 Mo apparaissent dans vmstat.

waffleman
la source

Réponses:

0

La "mémoire totale" est la mémoire totale gérée par le noyau.

Quelque chose d'autre utilise cette mémoire ou empêche le noyau de l'utiliser. Il pourrait y avoir beaucoup de choses. Par exemple, s'il s'agit d'un système d'exploitation 32 bits sans PAE, il se peut que d'autres mappages consomment de l'espace d'adressage et qu'il en reste moins de 4 Go. Le BIOS utilise une partie de la mémoire pour que les structures qu’il remplit soient transmises au système d’exploitation. Une carte vidéo à mémoire partagée peut utiliser une partie de la mémoire. Etc.

David Schwartz
la source