web-dev-qa-db-fra.com

Comment trouver la consommation de mémoire d'un processus particulier sous Linux pour toutes les 5 secondes

Je veux juste savoir comment trouver la consommation de mémoire d'un processus particulier pour un temps particulier (disons 5 secondes)

Je suis nouveau sur Linux. Ainsi, les étapes détaillées de cette opération seront appréciées

9
Vamsi

vous pouvez utiliser SNMP pour obtenir la mémoire et l'utilisation du processeur d'un processus dans un périphérique particulier du réseau :)

Exigences:

  • le périphérique exécutant le processus doit avoir installé et exécuté snmp
  • snmp doit être configuré pour accepter les demandes d'où vous exécuterez le script ci-dessous (il peut être configuré dans snmpd.conf)
  • vous devez connaître l'ID de processus (pid) du processus que vous souhaitez surveiller

Notes:

  • Host-RESOURCES-MIB :: hrSWRunPerfCPU est le nombre de centi-secondes des ressources CPU totales du système consommées par ce processus . Notez que sur un système multiprocesseur, cette valeur peut augmenter de plus d'un centième de seconde en un centième de seconde en temps réel (horloge murale).

  • Host-RESOURCES-MIB :: hrSWRunPerfMem est la quantité totale de mémoire système réelle allouée à ce processus.

**

Script de surveillance du processus:

**

echo "IP: "
read ip
echo "specfiy pid: "
read pid
echo "interval in seconds:"
read interval

while [ 1 ]
do
    date
    snmpget -v2c -c public $ip Host-RESOURCES-MIB::hrSWRunPerfCPU.$pid
    snmpget -v2c -c public $ip Host-RESOURCES-MIB::hrSWRunPerfMem.$pid
    sleep $interval;
done
4

Utilisation top -p PID où PID est l'ID du processus. Des informations sur le processus doivent être affichées, y compris le pourcentage de mémoire système utilisée. Tapez d et un entier en secondes pour modifier le taux de rafraîchissement.

27
dward

utilisez watch pour exécuter périodiquement votre script. Voici un exemple:

watch 'cat /proc/status' --interval=5

watch 'ps aux' --interval=5
5
0x90

Cette question précédemment publiée:

Comment mesurer l'utilisation réelle de la mémoire d'une application ou d'un processus?

semble que cela puisse répondre à votre question.

edit: Mon utilitaire Linux préféré pour vérifier l'utilisation des ressources des processus est top, bien qu'il puisse être trompeur pour des raisons qui sont expliquées dans la question que j'ai liée.

3
mdunsmuir