2011-06-29 47 views
1

我建立了我的web应用程序自定义组件,将基准每项服务,至今该计划是基准平常的东西:PHP收集服务器统计

  • 响应时间
  • 内存
  • 当前服务器活动

我已经建立了基本的东西,我想存储了放入linux“top”命令,其中列出了当前正在运行的进程和已用资源的数量。 虽然,我一直无法从运行获得任何responde:

$output = shell_exec('top'); 
echo "<pre>"; 
var_dump($output); 
echo "</pre>"; 

但其他更简单的命令做的工作,就像在PHP手册中的例子:

$output = shell_exec('ls -lart'); 

所以我的问题是: - 我是否需要以root身份运行“top”命令? (目前它运行在apache用户下) - 或者是否有任何其他的PHP命令可以帮助我获得服务器统计信息?

我看过这篇文章,但我没有真正有兴趣安装任何东西,因为我需要我的统计数据并将它们存储在我的数据库中。 PHP server statistics script?

回答

2

你可以像猫的/ proc/cpuinfo中的/ proc目录猫任何事情来得到有关服务器的CPU的任何信息。 Linux中的所有东西都可以简化为文件系统,任何系统统计信息都可以在/ proc中找到(几乎所有的统计信息)

+1

正是我在找的东西......谢谢! –

2

当您运行顶部时,您会看到程序继续执行,并且不会停止。它也是互动的。

如果你想捕获输出,你需要有一个程序执行,然后停止。可能有顶级选项可以做到这一点。但大多数信息可以通过其他命令收集。

运行顶部是这样的:

top -b -n1