Webalizer 导致 CPU 负载过高

Webalizer 导致 CPU 负载过高

我们用网络管理者生成有关我们的 Apache 访问日志的报告 - 它与 Google Analytics 结合使用很有用。

问题是 webalizer 在运行时占用了大量的 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

有人知道如何限制 webalizer 可以使用的 CPU 数量吗?例如,这是否有nice帮助,我该如何使用它?

答案1

是的,这很好,会有所帮助,它降低了进程优先级,因此您的网络服务器和用户会获得优先权。

exec nice /usr/bin/webalizer -Q 

答案2

观察了一段时间的情况后,我终于可以坦白说一件令人尴尬的事了——Webalizer并没有导致我们的服务器负载激增。实际上这是因为日志监视不同的日志文件分析器。两个脚本同时运行(通过cron.daily),我只能通过禁用一个脚本,然后禁用另一个脚本并比较 CPU 使用率来找出导致问题的原因。

我们不需要 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- 并不是要诬告您占用过多的 CPU。

相关内容