web-dev-qa-db-fra.com

Représentation graphique de l'utilisation de la mémoire d'un processus

Est-ce que quelqu'un connaît un outil pour montrer visuellement l'utilisation de la mémoire d'un processus sélectionné sur Ubuntu?

ps aux affichera un instantané numérique, mais j'aimerais vraiment une ligne que je pourrai regarder changer au fur et à mesure que je martèle le processus et que j'espère voir des comportements inattendus.

Quelqu'un a-t-il des suggestions?

38
BanksySan

Je ne pouvais pas trouver de vrais outils pour le faire.

Mais j'ai trouvé un petit ensemble de scripts qui le fera.

En utilisant cette petite boucle bash pour faire la journalisation:

while true; do
ps -C <ProgramName> -o pid=,%mem=,vsz= >> /tmp/mem.log
gnuplot /tmp/show_mem.plt
sleep 1
done &

Cela créera un joli petit fichier journal d'utilisation de la mémoire appelé /tmp/mem.log. Ensuite, il génère une image des données avec gnuplot en utilisant le script suivant (mettez ceci dans /tmp/show_mem.plt):

set term png small size 800,600
set output "mem-graph.png"

set ylabel "VSZ"
set y2label "%MEM"

set ytics nomirror
set y2tics nomirror in

set yrange [0:*]
set y2range [0:*]

plot "/tmp/mem.log" using 3 with lines axes x1y1 title "VSZ", \
     "/tmp/mem.log" using 2 with lines axes x1y2 title "%MEM"

Ensuite, en ouvrant l’image avec la visionneuse d’images GNOME par défaut, elle continue de recharger l’image lorsqu’elle change. Donc, si toute la boucle ci-dessus est en arrière-plan, il apparaîtra que vous disposez d'un outil graphique d'utilisation de la mémoire incroyable fonctionnant dans une visionneuse d'images :)

Le processus que je suis en train de suivre ressemble à ceci: Graph of rising memory usage

Il semble que j'ai des problèmes de mémoire :(

Une grande partie de ceci a été arraché de http://brunogirin.blogspot.com.au/2010/09/memory-usage-graphs-with-ps-and-gnuplot.html , le crédit auquel il est dû.

94
LovesTha

J'aime vraiment utiliser "htop" au lieu de "top". Il est très coloré et comporte de nombreuses options comme l’installation, la recherche, l’inversion, l’arbre, le tri, Nice, tuer. Essaie:

$ Sudo apt-get install htop

htop

14
César

Top fera l'affaire

top -b | grep {name of process}
top -b -p {PID}
top -b -u {userid}
3
b7kich

Essayez d'exécuter la commande "top" dans la ligne de commande. Cela affichera une liste de processus similaires au gestionnaire de tâches Windows.

0
NickLH

La réponse acceptée a fonctionné pour moi, mais j'étais un peu fatiguée de faire tout ça à chaque fois que je voulais mesurer la mémoire, alors j'ai créé un petit outil pour cela:

https://github.com/parikls/mem_usage_ui

0
parikLS