分类: LINUX
2009-12-10 15:03:52
近日收到几次IVR服务器2号机CPU使用率100%的告警,但每次都登陆以后发现一切正常了。
对于这种瞬间CPU使用率100%的问题的资料少之又少,可能是硬件原因,也可能是原件原因。
正常逻辑是先从软件分析,从发生告警的时间来看,都是凌晨4点多,大胆推测应该是Linux系统自身的类似垃圾回收或是资源释放的机制,系统一定是自己执行某些动作,先到/var/log下查message日志,看不出有什么问题,但是发现/var/log目录下很多文件都是在04:02生成的,这进一步肯定我的猜测,在查看cron的时候,在这个时段发现了些异常:
Dec 10 04:01:01 localhost crond[14960]: (root) CMD (run-parts /etc/cron.hourly)
Dec 10 04:02:01 localhost crond[14971]: (root) CMD (run-parts /etc/cron.daily)
Dec 10 04:02:06 localhost anacron[15421]: Updated timestamp for job `cron.daily' to 2009-12-10
想到了crontab,但通过crontab –l查看并无这个时刻执行的任务,但是通过cat /etc/crontab显示如下内容:
[root@localhost ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
cron.daily执行的时间就是每天4:02,可以确定造成CPU使用率100%的就是它了
cat /etc/cron.daily 发现它是个目录
打开有如下文件:
lrwxrwxrwx 1 root root 28 Dec 2 23:38 00-logwatch -> ../log.d/scripts/logwatch.pl
-rwxr-xr-x 1 root root 418 Jun 6 2007 00-makewhatis.cron
-rwxr-xr-x 1 root root 135 Aug 19 2004 00webalizer
-rwxr-xr-x 1 root root 276 Sep 29 2004 0anacron
-rwxr-xr-x 1 root root 1042 Jan 9 2008 certwatch
-rwxr-xr-x 1 root root 180 Apr 15 2008 logrotate
-rwxr-xr-x 1 root root 2133 Dec 1 2004 prelink
-rwxr-xr-x 1 root root 104 Jun 4 2008 rpm
-rwxr-xr-x 1 root root 121 Aug 22 2007 slocate.cron
-rwxr-xr-x 1 root root 286 Aug 14 2004 tmpwatch
tmpwatch 作用是清除掉一些长时间没有访问的临时文件,这个需要保留
0anacron 作用是更新crontab job的执行的时间,必须保留,它名称的前面另上0,以保证这个程序会在其他程序前执行,并且这个被run-parts自动调用
prelink 作用是预链接一些动态链接库和可执行文件,以此来加快启动时间和减少run-time的内存分配,类似于oracle的dbms_shared_pool.keep的作用一样
logrotate 作用是循环利用,压缩一些系统日志的,建议保留
slocate.cron 作用是更新slocate database,用于为locate服务的,很消耗资源,可以停掉
mcelog.cron 作用是用于生成/var/log/mcelog文件,建议留着
00-makewhatis.cron 作用是创建whatis database,用于为whatis服务的,较为消耗资源,可以去掉。在cron.weekly里面也存在,也可以去掉
rmp 作用是每天将系统上安装过的rpm包的信息放到/var/log/rpmpkgs中去,这个没什么实际用处,可以去掉
00-logwatch 作用是用于监控linux log文件的,可以保留
00webalizer 作用是Web服务日志分析,可以保留