我在Amazon EC2中设置了一个实例,这是一个运行apache2,php5和mysql的ubuntu 10.04服务器。
只有不到10个用户使用该系统,服务器获得20%,30%,40%的CPU负载。
使用top我在第一行中看到:
11121 www-data 20 0 71940 20m 11m S | 22.6 | 1.2 | 0:00.68 apache2
10108 www-data 20 0 72196 22m 12m S | 21.9 | 1.3 | 1:15.81 apache2
11122 www-data 20 0 71936 20m 11m S | 7.3 | 1.2 | 0:00.68 apache2
10111 www-data 20 0 72196 22m 12m S | 1.7 | 1.3 | 1:16.43 apache2
这4行中的CPU总和为53,5。
如何查看更详细的流程?
我怎样才能看看脚本运行,需要花费的时间,每个人消耗的处理器的消耗?
感谢。
答案 0 :(得分:8)
我通过安装Apache mod Status - http://httpd.apache.org/docs/2.0/mod/mod_status.html解决了这个问题。在那里,您可以看到每个PID使用的URL。
希望它可以帮助任何人...
答案 1 :(得分:3)
查看它正在做什么的一种方法是使用lsof(您可能必须安装它)。要查看示例中的进程正在访问您,请执行以下操作:
lsof -p 11121,10108,11122,10111
这将显示进程已打开的所有文件。通常,apache进程中的高CPU是由于网站试图在服务器端做的事情。
答案 2 :(得分:2)
您可以在父进程上使用strace来更好地了解它的作用。