2011-01-05 74 views
2

我正在尋找記錄在Linux上運行的進程的CPU,內存,帶寬。最終數據將存儲在數據庫中,但我的主要問題是如何訪問這些數據以便首先登錄。如何記錄Linux上的進程的CPU,內存,帶寬?

我最初的想法是使用top命令,並解析我需要的數據。

你能想出更好的方法嗎?

+1

谷歌「過程會計」 – derobert 2011-01-05 18:46:42

回答

2

檢出/ proc僞文件系統 - 您可以從腳本,編譯的程序中隨處讀取其中的文件。

Link

編輯:更多關於它的思考,我已經實現了一個類似的系統,並使用「特區」廣泛使用「的awk」,但是「的perl」,「巨蟒」或任何這樣的解析輸出將工作也一樣。我使每個腳本都輸出CSV,然後將CSV批量加載到MySQL中,以便通過PHP進行後續查詢/繪製。

+0

我也建議檢查源自上而下,它使用封面下的過程fs。它可以在http:// http://procps.sourceforge.net – 2011-01-05 18:48:42

+0

trojanfoe上找到,這個代碼是你可以共享的東西,還是你可以爲我寫的東西?如果它能幫助完成,我也可以提供一些錢。 – Steve 2011-01-07 03:18:58

+0

@steve是的,你能在我的個人資料中看到我的電子郵件地址嗎?如果是這樣,給我發一封電子郵件,我們會討論它 – trojanfoe 2011-01-07 07:56:32

0

您可以使用PS CPU和內存,是這樣的:

ps -eo pid,user,args,%mem,%cpu 

,然後解析輸出。

0

內核可以通過「進程記帳」進行配置。網絡搜索和「linux」將會找到關於如何設置的大量信息。