Je souhaite surveiller l'utilisation de la mémoire d'un processus et je souhaite que ces données soient enregistrées. Un tel outil existe-t-il?
memory
monitoring
tshepang
la source
la source
Réponses:
J'ai écrit un script pour faire exactement cela . Il échantillonne essentiellement
ps
à des intervalles spécifiques, pour créer un profil d'un processus particulier. Le processus peut être lancé par l'outil de surveillance lui-même, ou il peut s'agir d'un processus indépendant (spécifié par pid ou modèle de commande).la source
Parfois, lorsque le besoin s'en fait sentir, je fais juste:
Ce n'est pas une solution élégante, mais fait le travail si vous voulez que la valeur brute rapide vérifie votre hypothèse.
la source
grep --line-buffered <process> >>somefile
pour forcer grep à sortir chaque ligne sans mettre en mémoire tamponsar
( System Activity Reporter ) du package sysstat est votre ami dans ce cas.Une autre façon serait le suivi combiné avec des données historiques, par exemple Munin, pnp4nagios, rrdtools, ...
la source
sar
se concentrer sur un seul processus? il semble surtout surveiller le système dans son ensemblepidstat
commande également du paquet sysstat fournit une interface assez agréable pour rapporter des statistiques sur un seul processus.Outre le sar susmentionné, je recommanderais au sommet . Il enregistre un journal binaire que vous pouvez parcourir par la suite, et en plus de la mémoire enregistre beaucoup d'autres informations.
la source
Vous pouvez essayer Valgrind .
la source
J'aime la réponse simple de Sridhar mais j'ai roulé la mienne avant d'essayer la sienne:
Il n'est fondamentalement utile que si vous souhaitez une sortie structurée. Modifiez 7274 selon le cas. Python 3.5 a également échoué
_asdict()
, alors utilisez Python 2.Le fichier de sortie ressemble à:
la source