запись об обмене / использовании памяти - как это сделать?

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

Я установил Ubuntu Mate на свой ноутбук с помощью рекомендуемое количество свопов (в соответствии с этим ответом и этой страницей и т. д. другие вещи, которые я читаю). Согласно моим потребностям, я понял, что этого должно быть достаточно (у меня 5 ГБ оперативной памяти, поэтому я установил 5 Гбайт свопа). Однако, когда я проверяю свое пространство подкачки, я замечаю, что он пуст. Точно так же мне очень трудно увидеть свою оперативную память с более чем 50% использования. Это заставляет меня думать, что я, возможно, негативно повлиял на мое пространство подкачки (мне не нужна спячка, чтобы быть всегда возможной кстати). Для меня единственный способ убедиться в том, что каждый день я использую память / своп.

Итак, вопрос: как я могу контролировать использование swap / memory в моей системе? (Таким образом, я могу открыть файл в конце недели и иметь возможность строить свою память и использовать swap в течение последних дней.) Если это уже существует (я еще ничего не нашел), как мне получить доступ к нему? [ ! d4]

PS: Я бы предпочел не писать сценарий, который запускается каждые х секунд на crontab и собирать эту информацию.

1
задан 13 April 2017 в 15:25

2 ответа

Команда vmstat предоставляет все числовые данные, которые вам нужны (и, вероятно, больше). Вы можете позволить ему работать в фоновом режиме и записывать свою статистику в файл.

2
ответ дан 23 May 2018 в 22:44
  • 1
    обратите внимание, что вам нужно предоставить задержку, или vmstat будет производить только одну строку данных. задержка без параметра count, он будет генерировать вывод неограниченно (в конечном счете, заполняя ваше пространство для хранения. См. man vmstat – Elder Geek 29 February 2016 в 08:18

Сценарий не требуется.

Математика для этого с vmstat довольно проста.

vmstat X count где X - это задержка в секундах, а count - количество отчетов статистики (строк). поэтому в течение 7 дней (конец недели), поэтому, если задержка составляла 5 секунд, у вас было бы 5x12 (минута) x60 (час) x24 (день) x7 (неделя), в результате чего число 604800x составляло 80 символов в строке в файле журнала размером примерно 48 384 000 байт.

Команда для этого - vmstat 5 604800 > swap.log. Конечно, это означает, что машина работает 24/7. Если расписание отличается или вы предпочитаете меньший файл журнала, скорректируйте количество и задержку в соответствии с вашими требованиями.

1
ответ дан 23 May 2018 в 22:44

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

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