Question

Quelle est la bonne façon d'obtenir la taille du processus Solaris, HP-UX et AIX?Devons-nous utiliser top ou ps -o vsz ou autre chose?

Était-ce utile?

La solution

Les définitions exactes de vsize, rss, rprvt, rshrd, et d'autres abréviations obscures varient d'un système d'exploitation à l'autre.Les pages de manuel du top et ps les commandes auront une sorte de description, mais toutes ces descriptions sont considérablement simplifiées (ou sont basées sur des implémentations de noyau disparues depuis longtemps).
La « taille du processus » en tant que concept est extrêmement difficile à cerner dans le cas général.Les réponses dans des cas 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 soigné de « taille du processus » qui existe dans l'esprit de la plupart des utilisateurs (et de la plupart des développeurs).

Par exemple, aucun de ces nombres (ni, probablement, aucune combinaison de ceux-ci) ne peut être utilisé pour vous indiquer exactement combien de processus de ce type peuvent s'exécuter simultanément dans une quantité donnée de mémoire libre.Mais en réalité, le mieux est de procéder par là :pourquoi voulez-vous ce numéro et à quoi allez-vous l'utiliser ?Compte tenu de ces informations, je pense que vous obtiendrez des réponses plus utiles.

Autres conseils

Sous Solaris, vous pouvez obtenir des informations détaillées sur l'utilisation de la mémoire d'un processus avec le pmap commande.En particulier, pmap -x <pid> vous montre quelle quantité de mémoire d'un processus est partagée et quelle quantité est spécifiquement utilisée par ce processus.Ceci est utile pour déterminer l'utilisation "marginale" de la mémoire d'un processus. Avec cette technique, vous pouvez éviter de compter deux fois les bibliothèques partagées.

Oui, vous avez raison de verrouiller au VSZ.

ps u vous donnera le VSZ et le RSS, qui sont la taille de la mémoire virtuelle et la taille de l'ensemble résident.Le RSS correspond à la quantité de mémoire physique allouée au processus et le VSZ correspond à la taille de la mémoire virtuelle du processus.Si plusieurs copies d'un programme sont en cours d'exécution, une grande partie de la mémoire du VSZ sera partagée entre ces processus.

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}'
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top