2011-06-29 71 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