2015-08-26 1 views
0

Какой лучший инструмент CLI для хранения дампов памяти для C++-процессов в Linux. У меня есть программа, которая отслеживает использование памяти в разных процессах, работающих в Linux. Для обработок на основе Java я использую jstack и Jmap для переноса потоков и кучи. Но есть ли какие-либо хорошие инструменты CLI, которые используют подобные дампы для процессов на C++? И если да, то как мы их используем, и как только дамп берется, как анализировать свалки?Какой лучший инструмент CLI для хранения дампов памяти для C++ в Linux

Любые inuputs будут оценены по достоинству.

+0

Я могу предложить gcore, который является открытым исходным кодом для сброса удаленных процессов. пример использования можно найти здесь: http://gsp.com/cgi-bin/man.cgi?section=1&topic=gcore. Другая альтернатива - открыть процесс во время работы, а затем сделать «generate-core-file» – Zohar81

+0

Спасибо, Зоар. gcore генерирует дамп ядра, но говорит ли он, что загружено в память? Кроме того, в случае использования большого количества процессоров, делает ли отладка ding uing gcore помощь при отладке? – Vikram

+0

gcore в основном приостанавливает процесс и берет свалку. gcore - это процесс сам по себе, и он работает довольно быстро в соответствии с моим опытом. если загрузка ЦП, вызванная удалением целевого процесса, должна быть быстрой (поскольку процесс приостанавливается во время взятия дампа) – Zohar81

ответ

0

Я бы порекомендовал использовать gcore, который является исполняемым файлом с открытым исходным кодом для сброса для удаленного процесса. Чтобы достичь согласованности, целевой процесс приостанавливается при сборе памяти и возобновляется после этого.

Информация использования можно найти в следующей ссылке:

gsp.com/cgi-bin/man.cgi?section=1&topic=gcore 

другой вариант через НКУ, путем присоединения процесса к GCC конкретизации и введя команду «gcore», а затем ее отсоединении.

$ gdb --pid=123 
(gdb) gcore 
Saved corefile core.123 
(gdb) detach 

 Смежные вопросы

  • Нет связанных вопросов^_^