Taille du processus sous UNIX

Translate

Quelle est la bonne façon d'obtenir la taille du processusSolaris, HP-UXetAIX? Devrions-nous utilisertopoups -o vszou autre chose?

This question and all comments follow the "Attribution Required."

Toutes les réponses

Translate

Les définitions exactes devsize, rss, rprvt, rshrd, et d'autres abréviations d'apparence obscure varient d'un système d'exploitation à l'autre. Les pages de manuel dutopetpsLes commandes auront une sorte de description, mais toutes ces descriptions sont grandement simplifiées (ou sont basées sur des implémentations de noyau éteintes depuis longtemps).
La "taille du processus" en tant que concept est diaboliquement 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 bien rangé de «taille de 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 d'entre eux) ne peut être utilisé pour vous dire exactement combien de processus de ce type peuvent s'exécuter à la fois dans une quantité donnée de mémoire libre. Mais vraiment, votre meilleur pari est d'y arriver par là: pourquoi voulez-vous ce numéro et à quoi l'utiliserez-vous? Compte tenu de ces informations, je pense que vous obtiendrez des réponses plus utiles.

La source
TLS
Translate

Sous Solaris, vous pouvez obtenir des informations détaillées sur l'utilisation de la mémoire d'un processus avec lepmapcommander. En particulier,pmap -x <pid>vous montre combien 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.

La source
Translate

Oui, vous avez raison de verrouiller au VSZ.

ps uvous 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 vous disposez de plusieurs copies d'un programme en cours d'exécution, une grande partie de la mémoire du VSZ sera partagée entre ces processus.

La source
Translate

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}'
La source