Taille du processus sous UNIX

Quelle est la méthode correcte pour obtenir la taille du processus sur Solaris, HP-UX et AIX ? Faut-il utiliser top ou ps -o vsz ou autre chose?

0

4 Réponses

Oui, vous avez raison de verrouiller le VSZ.

ps u will give you the VSZ and RSS, which are the virtual memory size and resident set size. The RSS is how much physical memory has been allocated to the process, and the VSZ is the virtual memory size of the process. If you have several copies of a program running, a lot of the memory in the VSZ will be shared between those processes.

0
ajouté
Le numéro VSZ est inutile si ce qui vous intéresse est la consommation de mémoire. VSZ mesure combien d'espace mémoire virtuel du processus a été marqué par le processus en tant que mémoire qui doit être mappée par le système d'exploitation si le processus arrive à le toucher. Mais cela n'a rien à voir avec si cette mémoire a été réellement touchée et utilisée. VSZ est un détail interne sur la façon dont un processus effectue l'allocation de mémoire? Quelle est la taille d'un morceau de mémoire inutilisée qu'il attrape à la fois. Regardez RSS pour le nombre de pages de mémoire qu'il a
ajouté l'auteur Brandon Rhodes, source

Les définitions exactes de vsize , rss , rprvt , rshrd et d'autres abréviations à l'apparence obscure varient d'OS à OS Les pages de manuel pour les commandes top et ps auront une sorte de description, mais toutes ces descriptions sont grandement simplifiées (ou sont basées sur des implémentations depuis longtemps éteintes du noyau). br> La «taille du processus» en tant que concept est diaboliquement difficile à cerner dans le cas général. Les réponses dans des instances spécifiques dépendent fortement de l'implémentation réelle de la gestion de la mémoire dans le système d'exploitation et sont rarement aussi satisfaisantes que le concept de «taille de processus» propre à la plupart des utilisateurs (et la plupart des développeurs).

Par exemple, aucun de ces nombres (ni, probablement, aucune combinaison de ceux-ci) ne peut être utilisé pour vous dire exactement combien de tels processus peuvent s'exécuter en même temps dans une quantité donnée de mémoire libre. Mais vraiment, votre meilleur pari est de venir à partir de cette fin: pourquoi voulez-vous ce numéro, et à quoi allez-vous l'utiliser? Compte tenu de cette information, je pense que vous obtiendrez des réponses plus utiles.

0
ajouté

On Solaris, you can get detailed information on a process's memory usage with the pmap command. In particular, pmap -x shows you how much of a process's memory is shared and how much is specifically used by that process. This is useful for working out the "marginal" memory usage of a process -- with this technique you can avoid double-counting shared libraries.

0
ajouté

J'ai résumé la taille de l'ensemble résident pour tous les processus comme celui-ci (en tant que root):

ps ax -o rss | awk '{rss += $1;} END { print rss}'
0
ajouté