Как записать использование памяти?

Как записать использование памяти?

Мне нужна программа или инструмент для записи использования памяти (ОЗУ) и сохранения этих данных в файл, чтобы я мог открыть этот файл и увидеть результат самостоятельно, а также сравнить его с другими.

решение1

Вы можете использовать следующую команду в bash следующим образом:

for i in `seq 0 60`; do
  echo `cat /proc/meminfo | grep Active: | sed 's/Active: //g'` >> usage.txt
  sleep 1m
done

Эта команда будет записывать текущее использование памяти в файл с именем «usage.txt» каждую минуту в течение 1 часа.

Если вы хотите, вы можете изменить usage.txtчасть команды, чтобы сохранить под другим именем. Вы также можете изменить команду, sleep 1mчтобы изменить время между каждой записью и '60' в seqразделе вверху, чтобы изменить количество записей, которые будут записаны.

После завершения ввода данных у вас будет текстовый файл с записями, который можно импортировать в электронную таблицу для удобства сравнения.

EDIT: Если вы также хотите записывать общий объем памяти при каждой записи, вы можете использовать следующие команды:

for i in `seq 0 60`; do
  echo `cat /proc/meminfo | grep Active: | sed 's/Active: //g'`/`cat /proc/meminfo | grep MemTotal: | sed 's/MemTotal: //g'` >> usage.txt
  sleep 1m
done

Вместо этого эти команды будут записывать записи в форме<active>/<total>

решение2

sysstatделает именно это -- работает по расписанию cron и записывает различные системные метрики (ЦП, ОЗУ, использование блочных устройств и т. д.). В общем, вы apt-get install sysstatможете забыть об этом. По умолчанию он сохраняет метрики за последний месяц.

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

Связанный контент