摘自syslog
:
CRON[pid]: (user) CMD ( [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -
execdir fuser -s {} 2>/dev/null \; -delete)
我的 CPU 已经卡在 99% 几个小时了,我猜是因为这个。有人知道这是什么、它是如何开始的以及如何阻止它吗?
编辑:我尝试过top -n1
,并且多次看到这一点:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
PID user 20 0 0 0 0 Z 99.9 0.0 0:00.00 fuser <defunct>
该行重复大约 8 次。
编辑2:
uname-a:
user SMP Tue Feb 14 13:27:41 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux`
lsb_release -a:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 11.10
Release: 11.10
Codename: code
编辑3:
重新启动后,系统又回到相同的99% cpu usage
结果top -n1
。
答案1
这是一个 cron 作业,用于清除 /var/lib/php5/ 中的旧会话文件。如果它挂在 99% 上,您也许应该检查目标文件夹 (/var/lib/php5/) 是否有过多文件,甚至可能是文件系统损坏。
该过程从 crontab 启动。请参阅 crontab 列表(描述这里)。您可以终止该进程并将其从 crontab 中删除,但更有可能的是您存在潜在问题,例如需要修复的文件过多。
答案2
在这里找到了答案:http://www.flynsarmy.com/2011/11/fuser-using-100-cpu-in-ubuntu-11-10/
在/etc/cron.d/php5 on Ubuntu 11.10:
代替
09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete
和
09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) -delete