Comment puis-je connaître la mémoire totale allouée à un processus particulier dans Ubuntu?
Comment puis-je connaître la mémoire totale allouée à un processus particulier dans Ubuntu?
Réponses:
Essayer:
pidof bash | xargs ps -o rss,sz,vsz
Pour trouver l'utilisation de la mémoire de votre bash
shell actuel (en supposant que vous utilisez bash
). Changez bash
pour tout ce que vous étudiez. Si vous recherchez un processus spécifique, utilisez-le seul:
ps -o rss,sz,vsz <process id>
Depuis la man
page:
RSS
: taille de l'ensemble résident, la mémoire physique non permutée utilisée par une tâche (en kilo-octets).
SZ
: taille en pages physiques de l'image centrale du processus. Cela inclut le texte, les données et l'espace de pile.
VSZ
: taille de la mémoire virtuelle du processus en Kio (unités de 1024 octets).
La man
page de ps
répertorie tous les arguments possibles de l' -o
option (il y en a plusieurs parmi lesquels choisir). Au lieu de cela, -o rss,sz
vous pouvez utiliser l' v
option de style BSD (pas de tiret) qui montre une disposition de mémoire alternative.
Vous pouvez utiliser pmap
qui montre la carte mémoire d'un processus:
pmap -p pid
Pour plus d'informations à ce sujet, consultez la page de manuel man pmap
ou consultez pmap (1): rapporter la carte mémoire du processus - page de manuel Linux .
comment connaître la mémoire totale allouée à un processus particulier dans ubuntu?
Vous ne définissez pas quelle est la mémoire allouée à un processus, et en fait c'est une question assez complexe (qu'en est-il des mappages de mémoire partagée - voir mmap (2) pour plus de détails; qu'en est-il de la mémoire partagée POSIX - voir shm_overview (7) pour plus ; qu'en est-il de certaines pages du cache de pages utilisées pour les fichiers ouverts; etc ...)
Vous pouvez utiliser le /proc/
système de fichiers (qui est utilisé par BTW ps
, pmap
, top
, htop
etc ....). Lisez proc (5) pour en savoir plus. En particulier pour le processus de pid 1234 vous pouvez utiliser /proc/1234/status
, /proc/1234/statm
, /proc/1234/maps
etc ... Ils sont tous les fichiers pseudo-textuels (un peu comme les tuyaux) que vous pouvez voir avec cat
(ou lire de façon séquentielle dans certains programmes). BTW, depuis l'intérieur d'un programme que vous pourriez utiliser /proc/self
(qui est un pseudo lien symbolique), par exemple lire séquentiellement /proc/self/status
etc ...
Voir aussi LinuxAteMyRam .