不明原因的高负荷平均值

我在我的一个VPS上得到了相当奇怪的高负载平均值,我不是服务器pipe理员,而是一位了解了多年基础知识的网站开发人员。 不过我对unix很有经验。

最近我的一个VPS的设置和其他设置一样,似乎越来越奇怪了。

你知道什么可能导致尖峰? 我可以得到什么信息来帮助诊断原因?


服务器信息:1GB内存,Ubuntu,Apache + MySQL + PHP5与Dovecot邮件,使用suPHP

信息:

Time: Wed May 25 11:10:21 2011 +0100 1 Min Load Avg: 12.56 5 Min Load Avg: 6.45 15 Min Load Avg: 2.83 Running/Total Processes: 2/110 

PS:

 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 2156 584 ? Ss Apr03 0:04 init [3] root 1128 0.0 0.0 2248 324 ? S<s Apr03 0:00 /sbin/udevd -d root 1433 0.0 0.0 1812 596 ? Ds Apr03 0:19 syslogd -m 0 root 1442 0.0 0.0 3448 660 ? Ss Apr03 0:00 /usr/sbin/dovecot dovecot 1461 0.0 0.0 6648 1524 ? S Apr03 0:00 \_ dovecot/imap-login dovecot 1462 0.0 0.0 6648 1524 ? S Apr03 0:00 \_ dovecot/imap-login dovecot 1463 0.0 0.0 6648 1524 ? S Apr03 0:00 \_ dovecot/imap-login dovecot 1465 0.0 0.0 6648 1524 ? S Apr03 0:00 \_ dovecot/imap-login dovecot 1467 0.0 0.0 6648 1524 ? S Apr03 0:00 \_ dovecot/imap-login dovecot 1468 0.0 0.0 6648 1528 ? S Apr03 0:00 \_ dovecot/imap-login dovecot 1470 0.0 0.0 6648 1528 ? S Apr03 0:00 \_ dovecot/imap-login dovecot 1471 0.0 0.0 6648 1524 ? S Apr03 0:00 \_ dovecot/imap-login dovecot 1472 0.0 0.0 6648 1524 ? S Apr03 0:00 \_ dovecot/imap-login dovecot 1476 0.0 0.0 6648 1524 ? S Apr03 0:00 \_ dovecot/imap-login dovecot 1477 0.0 0.0 3364 828 ? S Apr03 0:00 \_ dovecot/anvil [35 connections] root 1478 0.0 0.0 3356 768 ? S Apr03 0:00 \_ dovecot/log root 1481 0.0 0.0 4824 1628 ? S Apr03 0:00 \_ dovecot/config root 1490 0.0 0.0 4412 1532 ? S Apr03 0:00 \_ dovecot/auth [0 wait, 0 passdb, 0 userdb] dovecot 31765 0.0 0.0 6648 1528 ? S Apr05 0:00 \_ dovecot/imap-login dovecot 31774 0.0 0.0 6648 1528 ? S Apr05 0:00 \_ dovecot/imap-login dovecot 31778 0.0 0.0 6648 1528 ? S Apr05 0:00 \_ dovecot/imap-login dovecot 32514 0.0 0.0 6648 1528 ? S Apr07 0:00 \_ dovecot/imap-login dovecot 32522 0.0 0.0 6648 1528 ? S Apr07 0:00 \_ dovecot/imap-login dovecot 32531 0.0 0.0 6648 1524 ? S Apr07 0:00 \_ dovecot/imap-login dovecot 19608 0.0 0.1 6644 2272 ? S May23 0:00 \_ dovecot/pop3-login dovecot 19609 0.0 0.1 6644 2256 ? S May23 0:00 \_ dovecot/pop3-login dovecot 19611 0.0 0.1 6644 2272 ? S May23 0:00 \_ dovecot/pop3-login dovecot 19612 0.0 0.1 6644 2276 ? S May23 0:00 \_ dovecot/pop3-login root 19660 0.0 0.0 3768 1344 ? S May23 0:00 \_ dovecot/auth [0 wait, 0 passdb, 0 userdb] dovecot 19661 0.0 0.1 6644 2276 ? S May23 0:00 \_ dovecot/pop3-login dovecot 19662 0.0 0.1 6644 2276 ? S May23 0:00 \_ dovecot/pop3-login dovecot 19663 0.0 0.1 6644 2276 ? S May23 0:00 \_ dovecot/pop3-login dovecot 19664 0.0 0.1 6644 2280 ? S May23 0:00 \_ dovecot/pop3-login dovecot 19665 0.0 0.1 6644 2280 ? S May23 0:00 \_ dovecot/pop3-login dovecot 19666 0.0 0.1 6644 2276 ? S May23 0:00 \_ dovecot/pop3-login dovecot 19668 0.0 0.1 6644 2280 ? S May23 0:00 \_ dovecot/pop3-login dovecot 19671 0.0 0.1 6644 2280 ? S May23 0:00 \_ dovecot/pop3-login dovecot 28222 0.0 0.1 6644 2280 ? S 01:43 0:00 \_ dovecot/pop3-login dovecot 28242 0.0 0.1 6644 2284 ? S 01:43 0:00 \_ dovecot/pop3-login dovecot 28246 0.0 0.1 6644 2284 ? S 01:44 0:00 \_ dovecot/pop3-login dovecot 28248 0.0 0.1 6644 2276 ? S 01:44 0:00 \_ dovecot/pop3-login root 1500 0.0 0.0 2832 588 ? Ss Apr03 0:00 xinetd -stayalive -pidfile /var/run/xinetd.pid root 1512 0.0 0.0 3708 976 ? S Apr03 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/tent.pid mysql 1586 0.0 0.3 133196 7972 ? Sl Apr03 8:44 \_ /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --log-error=/var/lib/mysql/mysql-bin.err --pid-file=/var/lib/mysql/tent.pid root 1768 0.0 0.0 3244 352 ? Ss Apr03 0:06 /usr/local/directadmin/da-popb4smtp nobody 1776 0.0 0.0 9168 756 ? Ss Apr03 0:00 /usr/local/directadmin/directadmin d nobody 1777 0.0 0.0 9288 1172 ? S Apr03 0:00 \_ /usr/local/directadmin/directadmin d nobody 1789 0.0 0.0 9288 132 ? S Apr03 0:00 | \_ /usr/local/directadmin/directadmin d nobody 1790 0.0 0.0 9288 132 ? S Apr03 0:00 | \_ /usr/local/directadmin/directadmin d nobody 1791 0.0 0.0 9288 132 ? S Apr03 0:00 | \_ /usr/local/directadmin/directadmin d nobody 1792 0.0 0.0 9288 132 ? S Apr03 0:00 | \_ /usr/local/directadmin/directadmin d nobody 1793 0.0 0.0 9288 132 ? S Apr03 0:00 | \_ /usr/local/directadmin/directadmin d nobody 18419 0.0 0.0 9168 192 ? S May19 0:00 \_ /usr/local/directadmin/directadmin d nobody 18420 0.0 0.0 9168 168 ? S May19 0:00 \_ /usr/local/directadmin/directadmin d nobody 18421 0.0 0.0 9168 168 ? S May19 0:00 \_ /usr/local/directadmin/directadmin d nobody 18422 0.0 0.0 9168 168 ? S May19 0:00 \_ /usr/local/directadmin/directadmin d nobody 18423 0.0 0.0 9168 168 ? S May19 0:00 \_ /usr/local/directadmin/directadmin d mail 1794 0.0 0.0 9240 712 ? Ss Apr03 0:02 /usr/sbin/exim -bd -q15m -oP /var/run/exim.pid mail 14222 0.0 0.1 10836 2864 ? D 11:01 0:00 \_ /usr/sbin/exim -bd -q15m -oP /var/run/exim.pid mail 14271 0.0 0.0 9240 224 ? D 11:08 0:00 \_ /usr/sbin/exim -bd -q15m -oP /var/run/exim.pid ftp 1847 0.0 0.0 7404 1616 ? SLs Apr03 0:10 proftpd: (accepting connections) root 1860 0.0 0.0 4488 632 ? Ss Apr03 0:04 crond root 14250 0.0 0.0 5032 996 ? D 11:06 0:00 \_ crond root 14254 0.0 0.0 5032 996 ? D 11:07 0:00 \_ crond root 14267 0.0 0.0 5032 996 ? D 11:08 0:00 \_ crond root 1868 0.0 0.0 5680 384 ? Ss Apr03 0:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam -n 2 root 1869 0.0 0.0 5680 136 ? S Apr03 0:00 \_ /usr/sbin/saslauthd -m /var/run/saslauthd -a pam -n 2 named 1888 0.0 0.0 70852 1892 ? Ssl Apr03 0:02 named -u named root 1516 0.0 0.0 7196 764 ? Ss May19 0:00 /usr/sbin/sshd root 26259 0.0 0.7 18812 15400 ? Ss 00:00 0:03 lfd - sleeping root 14268 0.0 0.6 18812 14544 ? S 11:08 0:00 \_ lfd - (child) checking load... root 14270 0.0 0.0 2528 884 ? R 11:08 0:00 \_ /bin/ps axuf root 26419 0.0 2.0 49944 42240 ? Ss 00:12 0:00 /usr/sbin/httpd -k start -DSSL apache 26424 0.0 2.0 50544 42628 ? S 00:12 0:00 \_ /usr/sbin/httpd -k start -DSSL pegpro 14247 0.0 0.2 18284 4440 ? D 11:05 0:00 | \_ /usr/local/php5/bin/php-cgi apache 26425 0.0 2.0 50552 42608 ? S 00:12 0:00 \_ /usr/sbin/httpd -k start -DSSL pegpro 14236 0.0 0.2 18284 4440 ? D 11:03 0:00 | \_ /usr/local/php5/bin/php-cgi apache 26426 0.0 2.0 50560 42620 ? S 00:12 0:00 \_ /usr/sbin/httpd -k start -DSSL pegpro 14242 0.0 0.2 18284 4440 ? D 11:04 0:00 | \_ /usr/local/php5/bin/php-cgi apache 9842 0.0 2.0 50596 42544 ? S 06:27 0:00 \_ /usr/sbin/httpd -k start -DSSL root 14258 0.0 0.0 3096 1000 ? D 11:07 0:00 | \_ /usr/local/suphp/sbin/suphp apache 9851 0.0 2.0 50560 42616 ? S 06:28 0:00 \_ /usr/sbin/httpd -k start -DSSL root 14265 0.0 0.0 3096 1004 ? D 11:08 0:00 | \_ /usr/local/suphp/sbin/suphp apache 11359 0.0 2.0 50560 42548 ? S 07:25 0:00 \_ /usr/sbin/httpd -k start -DSSL apache 12184 0.0 2.0 50384 42432 ? S 09:07 0:00 \_ /usr/sbin/httpd -k start -DSSL pegpro 14249 0.0 0.2 18284 4444 ? D 11:05 0:00 | \_ /usr/local/php5/bin/php-cgi apache 13618 0.0 2.0 50388 42372 ? S 09:47 0:00 \_ /usr/sbin/httpd -k start -DSSL root 14261 0.0 0.0 3096 1000 ? D 11:07 0:00 | \_ /usr/local/suphp/sbin/suphp apache 13627 0.0 2.0 50420 42424 ? S 09:48 0:00 \_ /usr/sbin/httpd -k start -DSSL root 14259 0.0 0.0 3096 1000 ? D 11:07 0:00 | \_ /usr/local/suphp/sbin/suphp apache 13761 0.0 2.0 50380 42348 ? S 10:06 0:00 \_ /usr/sbin/httpd -k start -DSSL pegpro 14248 0.0 0.2 18284 4440 ? D 11:05 0:00 | \_ /usr/local/php5/bin/php-cgi apache 14253 0.0 1.9 50076 40812 ? S 11:06 0:00 \_ /usr/sbin/httpd -k start -DSSL apache 14255 0.0 1.9 50076 40812 ? S 11:07 0:00 \_ /usr/sbin/httpd -k start -DSSL apache 14260 0.0 1.9 50076 40812 ? S 11:07 0:00 \_ /usr/sbin/httpd -k start -DSSL apache 14266 0.0 1.9 50076 40812 ? S 11:08 0:00 \_ /usr/sbin/httpd -k start -DSSL 

VMSTAT:

 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ rb swpd free buff cache si so bi bo in cs us sy id wa st 3 12 0 1740504 0 0 0 0 8 1 0 0 0 0 99 1 0 

阿帕奇:

 Could not retrieve Apache Server Status 

编辑:

注意到crons可能是我检查我的crontab的问题,我看不到任何会在11:10运行的东西!

rsyncs通常每天只发送1 / 2mb的修改。

 0 4 * * */3 /usr/local/sysbk/sysbk -q 15 3 * * * rsync -av --delete /home/ [email protected]:~/rsyncbackup/daily/ 0 5 * * */14 rsync -av --delete /backup/ [email protected]:~/dabackup/ 35 7 * * * curl -s -o /dev/null http://SNIP/billing.php?action=autosuspend 40 7 * * * curl -s -o /dev/null http://SNIP/billing.php?action=gen_upcoming 45 7 * * * curl -s -o /dev/null http://SNIP/billing.php?action=send_pending 30 7 * * * curl -s -o /dev/null http://SNIP/alp/billing.php 0 * * * * curl -s -o /dev/null http://SNIP/gitMail/index.php 

我已经修改我的负载平均电子邮件报告添加iostat,MySQL进程和build议的PS。 我会在下次收到消息时更新这个问题!

任何不处于状态S (睡眠)的命令将被计为活动进程。 这包括R运行状态和D阻塞状态。 (后者通常在从磁盘或networking设备的IO等待时发生)

要特别查找这些列表,请尝试以下命令: ps -efl | cut -c3- | egrep -v "^S" ps -efl | cut -c3- | egrep -v "^S" ps -efl | cut -c3- | egrep -v "^S" 。 从你的ps输出中,看起来你已经有一些被卡住的cron作业,一些exim进程,你的syslog守护进程和一些php-cgi threds。 这些都可能卡在等待磁盘访问。 所以你的硬盘可能会被淹没,或者可能抛出错误,导致进程挂起。

尝试使用iostat来检查你的磁盘IO?

– 克里斯托弗·卡雷尔

有可能是locking文件,dovecot也许lockingmbox文件,

我想你可以通过查看/ proc / locks来validation

http://wiki1.dovecot.org/MailboxFormat/Maildir#Locking