web-dev-qa-db-fra.com

Comment surveiller la mémoire consommée par un processus?

J'ai un processus que j'aimerais voir combien de mémoire il consomme pendant son fonctionnement.

En ce moment je fais ceci:

ps faux | grep casper

Mais cela me donne juste l'information de ce moment. Ce serait bien de voir cette valeur changer à mesure que le script avance.

Je peux faire ça?

16
Hommer Smith

Méthode 1

Courir:

top

Recherchez le PID du programme (première colonne), puis exécutez:

top -p PID

Méthode 2

Collez ceci dans le terminal ou sauvegardez-le sous le nom mem_usage.sh et lancez-le depuis le terminal.

#! /bin/bash
while :
do
    clear
    ps faux | grep casper
    sleep 1s
done
14
Julian Stirling

Pour surveiller uniquement votre processus, vous pouvez vérifier/proc/PID/status ou/proc/PID/statm.

À propos de/proc/PID/statm:

Après avoir fait cat /proc/PID/statm, vous devriez voir ceci:

611450 185001 883 18 0 593431 0

Explication:

  1. taille: - taille totale du programme (611450 X 4096/1024 = 2445800kB = 2388M)
  2. résident: - taille de l'ensemble résident (185001 X 4096/1024 = 740004kB = 722M)
  3. partager: - pages partagées (883 X 4096 = 3532)
  4. très: - texte (code) (18 X 4096/1024 = 72kB = VmExe)
  5. drs: - données/pile
  6. lrs: - bibliothèque (593431 X 4096/1024 = 2373724kB = VmData + VmStk)
  7. dt: - pages sales

Vous pouvez également enregistrer l'activité de mémoire de votre processus en effectuant une boucle à l'aide de la date et du chat.

6
yilmi

vous pouvez utiliser 'top'

man top

Ce programme vous permet de trier l'utilisation des ressources, entre autres, RSS, VSZ, CPU, etc. C'est très utile.

Alternativement, pour une ventilation plus détaillée de l'utilisation de la mémoire, essayez 'pmap'

man pmap

Exemple d'utilisation:

pmap -x 1234

à votre santé

caroline du Sud.

3
swisscheese

Ouvrez le Moniteur système et accédez au Processes languette:

2
Wilf

Essayez de:

watch 'ps faux | grep -v grep | grep casper'

Vous pouvez également modifier l'intervalle d'actualisation à l'aide du paramètre --interval <seconds>.

1
Martin Dvorak