Webalizer导致高CPU负载

我们使用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可以使用多less? 例如,会nice帮助,我将如何使用它?

是的好会帮助,它降低了进程的优先级,所以你的networking服务器,因此用户优先。

 exec nice /usr/bin/webalizer -Q 

经过一段时间的监测,我有一个尴尬的忏悔 – Webalizer没有造成我们的服务器上的负载峰值。 它实际上是由logwatch一个不同的日志文件分析器)引起的 。 这两个脚本同时运行(通过cron.daily ),我只是通过禁用一个,然后另一个比较CPU使用率,找出哪一个导致问题。

我们不需要logging,因为我从来没有看过它产生的电子邮件。 所以,我通过删除/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猪。