Webalizer вызывает высокую загрузку процессора
Мы используем webalizer для создания отчетов в наших журналах доступа Apache - это полезно в сочетании с Google Analytics.
Проблема в том, что при работе webalizer использует ALOT CPU. Если я бегу top
Я вижу два процесса Perl с 90% CPU - это замедляет работу машины и, следовательно, веб-сайт для наших пользователей.
Webalizer запускается через ежедневную работу cron (/etc/cron.daily/00webalizer
):
#! /bin/bash
# update access statistics for the web site
if [ -s /var/log/httpd/access_log ]; then
exec /usr/bin/webalizer -Q
fi
Кто-нибудь знает, как ограничить, сколько CPU webalizer может использовать? Например, будет nice
помочь и как бы я использовал это?
2 ответа
Некоторое время следя за ситуацией, я смущенно признаюсь - Webalizer не вызывал скачок нагрузки на нашем сервере. Это было на самом деле вызвано logwatch, другой анализатор файла журнала. Оба сценария были запущены одновременно (через cron.daily
) и я только выяснил, какая из них вызывала проблему, отключив одну, затем другую и сравнив загрузку процессора.
Нам не нужен logwatch, потому что я никогда не видел писем, которые он производит. Итак, я отключил его, удалив символическую ссылку в /etc/cron.daily/
:
> ls -l /etc/cron.daily/0logwatch
lrwxrwxrwx 1 root root 39 Apr 17 03:46 /etc/cron.daily/0logwatch -> /usr/share/logwatch/scripts/logwatch.pl
Задача решена. Извините, Webalizer - не хотел ложно обвинять вас в том, что вы процессор.
Да, неплохо бы помочь, это понизит приоритет процесса, чтобы ваш веб-сервер и, следовательно, пользователи получили приоритет.
exec nice /usr/bin/webalizer -Q