Linux отображает среднюю загрузку процессора за последнюю неделю
В ящике Linux мне нужно отображать среднее использование ЦП в час за последнюю неделю. Эта информация где-то зарегистрирована? Или мне нужно написать script, который просыпается каждые 15 минут, чтобы скопировать /proc/loadavg в файл журнала?
EDIT: мне не разрешено использовать какие-либо инструменты, кроме тех, которые поставляются с Linux.
Ответы
Ответ 1
Насколько я знаю, он нигде не хранится... В любом случае, это тривиальная вещь. Просто добавьте что-то вроде
cat /proc/loadavg >> /var/log/loads
на ваш crontab
.
Обратите внимание, что существуют инструменты мониторинга (например, Munin), которые могут сделать для вас такие вещи и создать красивые графики это для загрузки... они могут быть слишком завышены для вашей ситуации.
Ответ 2
Возможно, вы захотите проверить sar (справочная страница), это хорошо подходит вашему прецеденту.
Репортер активности системы (SAR) - отображает важные показатели производительности системы при
периодические интервалы.
Пример из IBM Developer Works Article:
Добавьте запись в корневой каталог crontab
# Collect measurements at 10-minute intervals
0,10,20,30,40,50 * * * * /usr/lib/sa/sa1
# Create daily reports and purge old files
0 0 * * * /usr/lib/sa/sa2 -A
Затем вы можете просто запросить эту информацию с помощью команды sar (отобразить всю информацию сегодня):
root ~ # sar -A
Или просто для файла журнала определенных дней:
root ~ # sar -f /var/log/sa/sa16
Обычно вы можете найти его в пакете sysstat для вашего дистрибутива Linux
Ответ 3
Я бы рекомендовал посмотреть Multi Router Traffic Grapher (MRTG).
Используя snmpd для чтения среднего значения нагрузки, он автоматически вычисляет средние значения в любой временной интервал и длину вместе с хорошими диаграммами для анализа.
Кто-то уже разместил пример использования ЦП.