Dois-je regarder VmSize, VmRSS ou une combinaison de statistiques de mémoire sur Linux?

J’essaie de calculer les données de dimensionnement appropriées sur un système Linux pour un produit et je cherche à déterminer l’utilisation de la mémoire. La façon dont je l’aborde jusqu’à présent est en cours d’exécution:

  cat / proc /  / status 

En regardant la sortie, mais je ne suis pas sûr des chiffres pertinents. Par exemple:

 VmPeak: 19662464 Ko
 VmSize: 18344416 Ko
 VmLck: 0 Ko
 VmHWM: 5942980 Ko
 VmRSS: 4734832 Ko
 VmData: 2108608 Ko
 VmStk: 120 Ko
 VmExe: 9256 Ko
 VmLib: 304448 Ko
 VmPTE: 10316 Ko

Je pense que j’utiliserais VmSize (Virtual Memory right?) Ou VmRSS (Private Memory right?) Ou une combinaison pour déterminer cela, mais je ne suis pas sûr. Des pointeurs sur le calcul correct de l’utilisation de la mémoire d’un processus sous Linux?

Certaines commandes peuvent vous aider à déterminer l’utilisation de la mémoire pour un processus donné:

essayez pmap ou pmap -x

vous pouvez également utiliser l’ancienne et bonne commande supérieure

vmstat serait également utile.

Je pense que les réponses ne répondaient pas à votre question spécifique. Le point essentiel est que la valeur importante que vous devez prendre en compte est la mémoire vive utilisée dans le système par votre processus.

Donc:

  • En haut est affiché comme mémoire résiduelle: colonne ‘RES’
  • Dans la valeur ‘/ proc // satus:’ VmRSS ‘
  • Dans la commande pmap: ‘RSS’ valeur totale de la colonne (en bas)

À votre santé,

Antonio

Une information plus précise sur la carte mémoire du processus du pid 1234 peut être donnée en lisant (par exemple avec la commande cat ) les fichiers /proc/1234/maps ou /proc/1234/smaps . Vous pouvez également utiliser la commande pmap , par exemple pmap 1234