Linux отображает среднюю загрузку процессора за последнюю неделю - PullRequest
19 голосов
/ 10 февраля 2009

В Linux я должен отображать среднюю загрузку ЦП за час за последнюю неделю. Эта информация где-то записана? Или мне нужно написать скрипт, который просыпается каждые 15 минут для копирования / proc / loadavg в файл журнала?

РЕДАКТИРОВАТЬ: Мне не разрешено использовать какие-либо инструменты, кроме тех, которые поставляются с Linux.

Ответы [ 3 ]

25 голосов
/ 10 февраля 2009

Возможно, вы захотите проверить sar ( man-страница ), он отлично подходит для вашего случая использования

System Activity Reporter (SAR) - захватить важные показатели производительности системы на периодические интервалы.

Пример из Статья IBM Developer Works :

Добавить запись в корневой каталог

# 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

14 голосов
/ 10 февраля 2009

Насколько я знаю, он нигде не хранится ... Во всяком случае, писать это просто Просто добавьте что-то вроде

cat /proc/loadavg >> /var/log/loads

на ваш crontab.

Обратите внимание, что существуют инструменты мониторинга (например, Munin ), которые могут сделать такие вещи для вас и сгенерировать симпатичные графики их загрузки ... хотя они могут быть излишними для вашей ситуации. 1009 *

1 голос
/ 10 февраля 2009

Я бы порекомендовал посмотреть на Multi Router Traffic Grapher (MRTG) .

Используя snmpd для считывания среднего значения нагрузки, он автоматически вычисляет средние значения в любой временной интервал и длину вместе с хорошими диаграммами для анализа.

Кто-то уже опубликовал пример использования процессора .

...