У меня есть программа на языке C, которая содержит много ресурсов памяти даже из внешних библиотек, и я хочу периодически проверять общую выделенную память моим приложением (включая выделение библиотек).Как сделать valgrind отображением статуса памяти для приложения daemon?
Я пробовал с некоторыми командами linux как ps euf
, pmap $pid
, cat /proc/$pid/status
, но без реальных результатов.
Я делаю некоторые исследования, и я нашел подходящий инструмент todo, который с valgrind.
Я попытался сбросить память, когда мое приложение работает с:
valgrind --tool=drd --trace-alloc=yes
Но я не получить результат, как результат, отображаемого Valgrind в конце исполнения.
Как заставить valgrind отображать состояние памяти (например, результат, отображаемый valgrind в конце выполнения), когда мое приложение запущено?
valgrinds мощный инструмент, он может многое сделать. если вы используете дистрибутив Linux, вы можете использовать ** man valgrind ** и ** читать ** :). htop покажет вам общее использование памяти, практически и физически. – SeedmanJ
Как заставить valgrind отображать состояние памяти периодически, а не в конце выполнения, потому что приложение является демоном. – developer
Вы также можете ознакомиться с документацией вашей платформы, чтобы узнать, поддерживает ли 'malloc' какую-либо поддержку. Например, в GCC у вас есть «», который дает вам несколько диагностических инструментов. –