LINUX.ORG.RU

Чем можно отследить статистику чтения памяти процессом?

 


0

2

Дано: проприетарное поделие которое при загрузке захавывает много памяти. Далее память конечно же не высвобождается и совершенно не ясно насколько эффективно она используется.

Цель: понять имеется ли место проблема из-за которой софт разово использует память и далее её не освобождает, хотя данные в последствии уже не нужны.

Отследить виртуальную память (pmap) и даже модификацию памяти довольно элементарно и гугл тут сразу даёт массу советов. А как можно отследить чтение процессом памяти? И есть ли софт который показывает статистику в удобном виде чтобы видеть «мусорные» куски?


valgrind. Но если поделие без отладочных символов скомпилено, то не сильно поможет.

UVV ★★★★★
()
Ответ на: комментарий от UVV

valgrind

Добавлю: valgrind --tool=massif ./a.out

И спрошу: а нет ли чего-то подобного, но менее тяжеловесного, без проверок memcheck'а?

i-rinat ★★★★★
()
Ответ на: комментарий от UVV

valgrind. Но если поделие без отладочных символов скомпилено, то не сильно поможет.

Благодарю, Valgrind Massif это вроде именно то, что я искал. Отладочные символы к счастью есть поэтому кто именно жрёт память уже хорошо видно.

Теперь другой вопрос. Где почитать как это правильно настроить, чтобы видеть к каким кускам памяти не было обращений дольше всего?

qiomi
() автор топика
Ответ на: комментарий от i-rinat

Спасибо, я уже разобрался, что мне нужен Massif и потестил на небольшом объеме данных. Сейчас сижу жду результатом с большим количеством входных данных (а значит потери памяти). На моём слабом железе (core2quad) и 3ГБ занятой памяти оно на много порядков замедляет старт.

qiomi
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.