Question

Y at-il une façon que nous pouvons enregistrer l'empreinte mémoire? De façon que Une fois le processus fini, nous pouvons encore y avoir accès.

La façon typique, je vérifie l'empreinte mémoire est la suivante:

$ cat /proc/PID/status

Mais en aucun cas, il existe une fois le processus terminé.

Était-ce utile?

La solution

vous pouvez faire quelque chose comme:

watch 'grep VmSize /proc/PID/status >> log'

lorsque le programme se termine, vous aurez une liste des empreintes de mémoire au fil du temps dans log.

Autres conseils

Valgrind a un profileur de mémoire appelée Massif qui fournit des informations détaillées sur l'utilisation de la mémoire de votre programme:

  

Massif est un profileur de tas. Il effectue le profilage tas détaillé en prenant des instantanés réguliers de tas d'un programme. Elle produit un graphique montrant l'utilisation du tas au fil du temps, y compris des informations sur les parties du programme sont responsables de la plupart des allocations de mémoire. Le graphique est complété par un fichier texte ou HTML qui inclut plus d'informations pour déterminer où le plus de mémoire est allouée. Massif gère des programmes sur 20x plus lent que la normale.

Vous pouvez enregistrer en utilisant Munin + un plugin personnalisé.

Cela vous permettra de surveiller et d'enregistrer les informations de processus nécessaires, et représenter graphiquement, facilement.

Voici une réponse connexe j'ai donné à serverfault.com

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top