PHP收集服务器统计信息

时间:2011-06-29 21:41:50

标签: php statistics shell-exec

我正在为我的webapp构建一个自定义组件,它将对每项服务进行基准测试,到目前为止,计划是对常用内容进行基准测试:

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

我已经构建了基本的东西,我正在考虑存储linux“top”命令的输出,该命令列出了当前运行的进程和使用的资源量。 但是,我无法从跑步中获得任何回应:

$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 个答案:

答案 0 :(得分:2)

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

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

像这样运行顶部:

top -b -n1

答案 1 :(得分:2)

您可以在/ proc目录中捕获任何内容,例如cat / proc / cpuinfo,以获取有关服务器的任何CPU信息。 linux中的所有内容都可以简化为文件系统,您可以在/ proc(几乎所有统计数据)中找到您想要查找的任何系统统计信息