У меня есть процесс, который работает в Solaris
непрерывно. Использование памяти кучи процесса продолжает увеличиваться с течением времени, а когда оно превышает 4 ГБ, обрабатывает отвалы ядра.Анализ памяти кучи
Я попытался запустить процесс с Purify
, но не смог найти код, который действительно утечки памяти.
Есть ли способ проанализировать, какой код отвечает за увеличение использования памяти кучи? Использование памяти кучи процесса увеличивается на 4 Мб или 8 Мб каждые 15 минут, и оно никогда не уменьшается.
Я использовал команду pmap
, чтобы проверить использование памяти кучи процесса.
Возможно, вы технически не просачиваете память, но на самом деле держите там какой-то указатель. Затем Purify подумает, что все в порядке. –
@BoPersson Вы говорите об оборванных указателях? – cppcoder
Нет, они не болтаются, если вы забыли удалить некоторые из них. Подобно созданию длинного списка и добавлению вещей, но некоторые из них никогда не удаляются. –