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


16

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

En ce moment, je fais ceci:

ps faux | grep casper

Mais cela me donne juste les informations de ce moment. Ce serait bien de voir cette valeur changer au fur et à mesure que le script avance.

Est-ce que je peux faire ça?

Réponses:


15

Méthode 1

Courir:

top

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

top -p PID

Méthode 2

Soit collez-le dans le terminal ou enregistrez-le en tant que mem_usage.sh et exécutez-le à partir du terminal.

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

1
Comment pouvez-vous le changer en affichant%? Par intérêt :-)
Wilf

J'obtiens ceci lors de l'exécution du script: bash: ./memory_usage.sh: bin / bash: mauvais interprète: aucun fichier ou répertoire de ce type
Hommer Smith

Bah! Je l'ai édité! Aurait dû le vérifier correctement avant de poster. La première ligne devrait indiquer où l'exécuter à partir de / bin / bash (j'avais bin / bash donc il vérifiait localement dans un dossier appelé bin pour bash)
Julian Stirling

1
@ wilf ps faux | casper grep | awk '{print $ 11} {print $ 6}' Cela devrait vous donner sur une ligne le nom du programme et la suivante la taille réelle de la mémoire en Ko.
Julian Stirling

7

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

À propos de / proc / PID / statm:

Après cela, cat /proc/PID/statmvous 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 la mémoire pour votre processus en faisant une boucle en utilisant la date et le chat.


4

vous pouvez utiliser "top"

man top

Ce programme vous permet de trier l'utilisation des ressources, entre autres, RSS, VSZ, CPU, etc. Il 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.


1
Avec pmap -x PID, vouliez-vous dire une utilisation incroyablement détaillée :-)
Wilf

en effet - ne peut jamais avoir assez de détails :)
swisscheese

1
Sur le mien (Ubuntu 16.04.5 LTS) "pmap -x" avec le PID n'affiche rien d'autre que le PID et la commande. -X fait de même.
2019

2

Ouvrez le Moniteur système et accédez à l' Processesonglet:


1

Essayez de:

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

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


1
Vous n'avez pas besoin du -v grep si vous changez le dernier en grep [c] asper. Cela correspond à Casper mais pas à lui-même.
Wudang
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.