在服务器上,我们一般使用top命令工具来监视服务器进程和Linux整体性能。
top
将会看到如下结果界面:
会列出了进程PID,USER(所属用户),PR,%CPU,%MEM,COMMAND(命令或者服务)等参数的列表,这个显示列表是动态跟踪服务器的。
问题来了,在上面的监控中,主要查看$CPU,%MEM,COMMAND这几个参数值,上面可以看到排在前面的两个进程都肚子占用了一枚CPU的%100。另外也可以根据这个列表看出WEB服务器有多少个CPU,数数php5-cgi的行数就是了。
看到两个php-cgi进程貌似是因为程序存在问题死循环什么的了把当时处理这个脚本的CPU给占满了,在这里,虽然我们大概知道是程序某个地方存在严重的问题,但是我们不能具体定位出来到底是系统的哪段文件出问题了。
于是,/proc来帮我们了,我们找到哪个进程在耗CPU,
对,PID为24207和24219这两家伙,咱们来用/proc虚拟文件系统来定位吧。
ls -l /proc/24219 # 后面的数字为上面的PID
注意上图中蓝色的路径,对,这个路径就是此段程序执行的代码路径,定位到了吧,然后你就可以在这个路径下去找那原因了
欢迎大家光临我的博客,http://larro.cn/