1

我正在为我的 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服务器统计脚本?

4

2 回答 2

2

当你的 run top 时,你会看到程序继续执行,并且没有停止。它也是互动的。

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

像这样运行顶部:

top -b -n1
于 2011-06-29T21:47:40.083 回答
2

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

于 2011-06-29T21:49:46.263 回答