Измерение максимального потребления памяти (программа Linux) - PullRequest
1 голос
/ 02 декабря 2010

Как я могу измерить максимальное (максимальное) использование памяти какой-либо программой?

Это делает много malloc / free и работает довольно быстро, поэтому я не вижу максимальный объем памяти сверху.

Я хочу что-то вроде time утилита:

$ time ./program
real xx sec
user xx sec
sys  xx sec

и

$ mem_report ./program
max memory used  xx mb
shared mem       xx mb

Ответы [ 2 ]

1 голос
/ 02 декабря 2010

Вызов time - ваша оболочка.Если вы позвоните /usr/bin/time, программе, вы получите некоторые знания об использовании резидентной памяти.Однако обратите внимание, что он может не учитывать файлы, отображенные в память, разделяемую память и другие детали, которые могут вам понадобиться.

0 голосов
/ 02 декабря 2010

Если вы работаете в Linux, вы можете обернуть вашу программу в скрипт, который опрашивает:

# for your current process
/proc/self/statm

# or a process you know the pid of
/proc/{pid}/statm

и записывает результаты - вы можете агрегировать их впоследствии.

...