Запись объема памяти в Linux
-
06-09-2019 - |
Вопрос
Есть ли способ записать объем памяти?В каком -то смысле, что после того, как процесс закончился, мы все еще можем иметь доступ к нему.
Типичный способ проверки объема памяти заключается в следующем:
$ cat /proc/PID/status
Но никоим образом он не существует после завершения процесса.
Решение
вы можете сделать что-то вроде:
watch 'grep VmSize /proc/PID/status >> log'
когда программа завершится, у вас будет список использованной памяти с течением времени в log
.
Другие советы
Валгринд имеет профилировщик памяти под названием Массив который предоставляет подробную информацию об использовании памяти вашей программой:
Massif — профилировщик кучи.Он выполняет детальное профилирование кучи, регулярно делая снимки кучи программы.Он создает график, показывающий использование кучи с течением времени, включая информацию о том, какие части программы отвечают за наибольшее выделение памяти.График дополняется текстовым или HTML-файлом, содержащим дополнительную информацию для определения того, где выделяется больше всего памяти.Massif запускает программы примерно в 20 раз медленнее, чем обычно.
Вы можете записать его, используя мунин + собственный плагин.
Это позволит вам отслеживать и сохранять необходимую информацию о процессе, а также легко отображать ее в виде графика.
Вот соответствующий ответ, который я дал на serverfault.com.