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
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:
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
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.
utilisez watch pour exécuter périodiquement votre script. Voici un exemple:
watch 'cat /proc/status' --interval=5
watch 'ps aux' --interval=5
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.