Такие инструменты, как верхняя и пс может дать мне объем памяти, выделенной в данный момент процессу, но мне интересно измерить максимальный объем памяти, выделенной процессу либо с момента его создания, либо в заданный интервал времени. Есть предложения, как узнать?
Есть инструменты, которые вы можете использовать при запуске процесса, которые дают вам сводную информацию об использовании памяти после его завершения:
Время GNU также показывает пиковое использование памяти при выполнении с параметром -v. Обратите внимание, что bash также имеет встроенную команду с именем time, поэтому вам может потребоваться указать полный путь к времени GNU при ее вызове, например, / usr / bin / time -v команда. Кроме того, помните, что в более старых версиях GNU time есть ошибка, из-за которой результаты неправильно умножаются на 4, например, проверьте следующую ссылку: https://bugzilla.redhat.com/show_bug.cgi?id=702826
Если вы справитесь с замедлением, вы можете найти valgrind
массивный инструмент для этой цели, поскольку он может профилировать кучу (и общую память при использовании --pages-as-heap=yes
) распределение во времени.