Avez-vous essayé ps -aefl et regardé la colonne SZ?
mdpc
2
Qu'entendez-vous par «connaître la mémoire allouée»? Voulez-vous savoir combien de mémoire le processus utilise?
Gilles 'SO- arrête d'être méchant'
Réponses:
14
Essayer:
pidof bash | xargs ps -o rss,sz,vsz
Pour trouver l'utilisation de la mémoire de votre bashshell actuel (en supposant que vous utilisez bash). Changez bashpour tout ce que vous étudiez. Si vous recherchez un processus spécifique, utilisez-le seul:
ps -o rss,sz,vsz <process id>
Depuis la manpage:
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 manpage de psrépertorie tous les arguments possibles de l' -ooption (il y en a plusieurs parmi lesquels choisir). Au lieu de cela, -o rss,szvous pouvez utiliser l' voption de style BSD (pas de tiret) qui montre une disposition de mémoire alternative.
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, htopetc ....). 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/mapsetc ... 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/statusetc ...
Réponses:
Essayer:
Pour trouver l'utilisation de la mémoire de votre
bash
shell actuel (en supposant que vous utilisezbash
). Changezbash
pour tout ce que vous étudiez. Si vous recherchez un processus spécifique, utilisez-le seul: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 deps
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.la source
RSS
,SZ
etVSZ
.Vous pouvez utiliser
pmap
qui montre la carte mémoire d'un processus: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 .la source
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 BTWps
,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 aveccat
(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 .
la source