2012年8月21日星期二

排查php占cpu%的一些手段

    今天偶然发现php大概有1分钟的时间一直占用100%的cpu,首次碰到这种情况,除了查看程序的log之外就没有想到什么手段来排查了。于是乎google之,找到一些手段,下一步就是把这些手段加到同事写的监控脚本里面。监控脚本的基本思想,每隔一段时间查看cpu的利用率,如果发现是100%的cpu占用,则把这个时刻的各种进程信息grep下来,并到程序log里面根据进程号和时间grep相应的日志。把现场环境grep后发邮件到相关人等。
    一些监控的手段:
    1.top命令查看cpu利用率。
    2.ls -l /proc/进程号/fd/ 查看进程在干嘛
    3.strace -p 13827 可以实时的看进程在干嘛

参考文章:php-cgi占用cpu100%的一次排障之旅 以及 PHP-CGI 进程 CPU 100% 与 file_get_contents 函数的关系
       

没有评论:

发表评论