Вопрос

Есть ли способ записать объем памяти?В каком -то смысле, что после того, как процесс закончился, мы все еще можем иметь доступ к нему.

Типичный способ проверки объема памяти заключается в следующем:

$ cat /proc/PID/status

Но никоим образом он не существует после завершения процесса.

Это было полезно?

Решение

вы можете сделать что-то вроде:

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

когда программа завершится, у вас будет список использованной памяти с течением времени в log.

Другие советы

Валгринд имеет профилировщик памяти под названием Массив который предоставляет подробную информацию об использовании памяти вашей программой:

Massif — профилировщик кучи.Он выполняет детальное профилирование кучи, регулярно делая снимки кучи программы.Он создает график, показывающий использование кучи с течением времени, включая информацию о том, какие части программы отвечают за наибольшее выделение памяти.График дополняется текстовым или HTML-файлом, содержащим дополнительную информацию для определения того, где выделяется больше всего памяти.Massif запускает программы примерно в 20 раз медленнее, чем обычно.

Вы можете записать его, используя мунин + собственный плагин.

Это позволит вам отслеживать и сохранять необходимую информацию о процессе, а также легко отображать ее в виде графика.

Вот соответствующий ответ, который я дал на serverfault.com.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top