Chinaunix首页 | 论坛 | 博客
  • 博客访问: 208994
  • 博文数量: 63
  • 博客积分: 1470
  • 博客等级: 上尉
  • 技术积分: 640
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-27 10:24
文章分类

全部博文(63)

文章存档

2014年(2)

2011年(3)

2010年(4)

2009年(9)

2008年(45)

我的朋友

分类: 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服务日志分析,可以保留

 

 

阅读(2340) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~