2008-09-28 75 views
4

我经常使用“top”命令查看占用资源的内容。大多数情况下,它提供了一长串Apache httpd进程,这不是很有用。有没有办法看到类似的列表,但我可以看到哪些PHP脚本等这些httpd进程实际上在运行?Top&httpd - 揭秘实际运行的内容

回答

4

如果你担心长时间运行的进程(即需要超过一两秒钟执行更即请求),你就可以开始使用Apache的mod_status的一个他们的想法。请参阅documentationexample of the output(来自www.apache.org)。这不是PHP独有的,但适用于在apache进程中运行的任何东西。

注意,www.apache.org状态输出是公开可用的大概出于演示的目的 - 你想限制访问你,这样不是每个人都可以看到它。

+0

给自己的提示:sudo pargs -e -a PID有时可以用来了解更多关于正在运行的进程。 – Bemmu 2008-10-16 00:57:37

0

的PHP脚本发生得这么快,顶部也不会告诉你很多。或者它会很快压缩。大多数网络请求都很快。

我认为最好的方法是将有某种类型的实时日志处理器,即一直在观察你的访问日志和更新统计为你的平均运行时间,内存使用和类似的东西。

0

你可以让你的PHP的网页时,自己和写自己的路径和执行时间,以文件或数据库。请注意,在您监控的过程中,会降低所有的速度,但它可以作为一种很好的测量方法。

虽然这不会是互动的。您可以从中获得每日或每周的结果,但在几分钟或几小时内很难看到有意义的内容。

1

有一个叫apachetop - 基于ncurses顶般的工具,它为Apache提供实时日志分析。不幸的是,该项目已被放弃,代码遭受一些错误,但它实际上非常有用。只是不要以root身份运行它,以任何可以访问Web服务器日志文件的用户身份运行它,你应该没问题。