Cette question est traitée ici en détail.
Comment mesurez-vous l'utilisation de la mémoire d'une application ou d'un processus sous Linux?
De l'article de blog Comprendre l'utilisation de la mémoire sous Linux , ps
n'est pas un outil précis à utiliser à cette fin.
Pourquoi
ps
est "faux"Selon la façon dont vous le regardez,
ps
ne rapporte pas l'utilisation réelle de la mémoire des processus. Ce qu'il fait réellement, c'est montrer combien de mémoire réelle chaque processus prendrait s'il était le seul processus en cours d'exécution . Bien sûr, une machine Linux typique a plusieurs dizaines de processus en cours d'exécution à tout moment, ce qui signifie que les numéros VSZ et RSS signalés parps
sont presque certainement faux .
ps
fait, ne montre même pas cela - il montre les numéros de mémoire virtuelle et résidente, où virtuel est la quantité maximale de mémoire que le processus pourrait théoriquement utiliser, c'était le seul processus (jamais), utilisé chaque page allouée (ne se produit jamais) et n'a mappé ou démappé aucune page (peu probable). Tandis que résident montre combien de mémoire virtuelle est mappée en physique en ce moment. En règle générale virt > usage > res
cependant sur un système 64 bits , virt ~= res*10
il est une gamme très large.