найти объем использования памяти команды в bash

Я написал программу, и теперь мне нужно измерить ее производительность, поэтому я использую time для нахождения времени, но есть ли какая-нибудь команда, например, время, когда я мог бы запустить свою программу под ней и иметь объем памяти, используемый моей программой? (как то, что делает time)

Я программирую на C / C ++, Java, Python и т. д., поэтому мне нужен универсальный инструмент (например, time) для измерения использования памяти.

TnX ALoT!

0
задан 23 January 2014 в 01:44

1 ответ

ps, top и atop не собираются давать вам наиболее точные ответы. В этой теме обмена стеками подробно рассматривается это и указывается на хорошо написанную запись в блоге по этой теме, в которой подробно объясняется, почему это так.

Существуют лучшие инструменты, которые помогут вам попытаться количественно оценить использование памяти, и valgrind , кажется, хороший инструмент . Вы можете установить его, запустив:

sudo apt-get install valgrind

Допустим, у вас есть программа с именем hello_world:

gcc -o hello_world -g hello_world.c

Чтобы получить профиль кучи для этой программы, вы должны выполнить:

valgrind --tool=massif ./hello_world

Это даст общий вывод на ваш экран, фактические результаты будут сохранены в файл в том же каталоге, который имеет вид:

massif.out.pid

где pid - идентификатор программы для hello_world когда вы запустили его в этом случае.

Вероятно, было бы лучше получить информацию time отдельно, то есть не пытайтесь запускать valgrind и time одновременно. Ссылка на стек-поток предоставляет другие альтернативы.

0
ответ дан 23 January 2014 в 01:44

Другие вопросы по тегам:

Похожие вопросы: