我们在我们的一台服务器上收到Nagios的警报,我们有一个失控的过程.登录并运行top并没有显示任何不好的事情,但是当我看到ps的输出时,我看到一些奇怪的东西:
oxygen@mail-1:~$ps -e -o %cpu,comm,cputime --sort %cpu | tail
0.2 amavisd 00:00:11
0.2 zmlogger 00:00:54
0.2 zmstat-allprocs 03:44:19
0.2 amavisd 00:00:07
0.2 amavisd 00:00:14
0.3 amavisd 00:00:08
0.3 top 00:00:05
0.5 amavisd 00:00:04
8.1 MysqLd 3-23:07:17
7413 java 1184016091-02:47:13
%cpu和cputime看起来不合理.关于为什么会出现这种情况的任何想法?
oxygen@mail-1:~$ps --version
procps version 3.2.8
oxygen@mail-1:~$uname -a
Linux mail-1 2.6.32-35-server #78-Ubuntu SMP Tue Oct 11 16:26:12 UTC 2011 x86_64 GNU/Linux
编辑:回复以下评论:
是的,很好猜测这是一个Zimbra服务器.
负载平均值相当高,此服务器受磁盘限制:
top - 09:55:06 up 71 days,3:23,1 user,load average: 4.03,3.82,3.60
Tasks: 301 total,1 running,300 sleeping,0 stopped,0 zombie
cpu(s): 10.7%us,1.7%sy,0.0%ni,59.3%id,27.5%wa,0.0%hi,0.7%si,0.0%st
Mem: 8192360k total,7867364k used,324996k free,171704k buffers
Swap: 1953784k total,950944k used,1002840k free,1619948k cached
pstree输出如下
oxygen@mail-1:~$pstree
init─┬─amavisd───10*[amavisd]
├─atd
├─clamd───{clamd}
├─cron
├─6*[getty]
├─ha_logd───ha_logd
├─heartbeat───3*[heartbeat]
├─hpasmxld───8*[{hpasmxld}]
├─httpd─┬─4*[httpd]
│ └─sh───rotatelogs
├─httpd─┬─6*[httpd]
│ └─2*[sh───rotatelogs]
├─irqbalance
├─master─┬─anvil
│ ├─3*[cleanup]
│ ├─2*[lmtp]
│ ├─pickup
│ ├─2*[proxymap]
│ ├─qmgr
│ ├─showq
│ ├─3*[smtp]
│ ├─6*[smtpd]
│ ├─tlsmgr
│ └─2*[trivial-rewrite]
├─miniserv.pl
├─MysqLd_safe───MysqLd───37*[{MysqLd}]
├─named───10*[{named}]
├─Nginx───Nginx
├─nrpe
├─ntpd
├─nullmailer-send
├─openhpid───3*[{openhpid}]
├─perl───zmlogger───zmlogger
├─rsyslogd───3*[{rsyslogd}]
├─saslauthd───4*[saslauthd]
├─screen───2*[bash]
├─slapd───9*[{slapd}]
├─snmpd
├─sshd───sshd───sshd───bash───pstree
├─swatch───perl
├─udevd───2*[udevd]
├─upstart-udev-br
├─zmconfigdctl─┬─java───19*[{java}]
│ └─sleep
├─zmmailBoxdmgr───java───166*[{java}]
├─zmstat-allprocs
├─zmstat-convertd
├─zmstat-cpu
├─zmstat-df
├─zmstat-fd───zmstat-fd
├─2*[zmstat-io───iostat]
├─zmstat-mtaqueue
├─zmstat-MysqL
├─zmstat-proc
└─zmstat-vm───vmstat
对于它的价值,它似乎更像是ps中的溢出错误而不是其他任何东西.我想不出java会在79天内耗费300万年的cputime的任何其他方式!