2011-06-01 61 views
3

如何在Linux中獲得CPU利用率和進程的時間信息?基本上我想讓我的應用程序在一夜之間運行。同時,我想在應用程序運行期間監視CPU利用率。獲取CPU利用率信息

我試過頂部| grep appName> &日誌,它似乎沒有在日誌中返回任何內容。有人可以幫助我嗎?

謝謝。

回答

0

使用頂部或觀看命令

PID COMMAND  %CPU TIME  #TH #WQ #PORT #MREG RPRVT RSHRD RSIZE VPRVT VSIZE PGRP PPID STATE UID FAULTS COW MSGSENT MSGRECV SYSBSD SYSMACH CSW  PAGEINS USER 
10764 top   8.4 00:01.04 1/1 0 24 33 2000K 244K 2576K 17M 2378M  10764 10719 running 0 9908+  54  564790+ 282365+ 3381+  283412+ 838+   27  root 
10763 taskgated 0.0 00:00.00 2 0 25 27 432K 244K 1004K 27M 2387M 10763 1  sleeping 0 376  60  140  60   160  109  11  0  root 
0

編寫調用你的處理的程序,然後調用的getrusage(2)和報表統計它的孩子。

2

vmstat and iostat可以給你這種性質的定期信息;我會建議手動設置的次數,或將在一個輪詢到一個cron作業,然後將輸出重定向到一個文件:

vmstat 20 4230 >> cpu_log_file 

這將使你的使用,每20秒的快照24小時。

1

安裝sysstat包和運行SAR

nohup sar -o output.file 12 8 >/dev/null 2>&1 & 
0

您可以監控其運行時與top使用你的程序的時間。

或者,您可以使用time命令來啓動您的應用程序,該命令將顯示程序執行結束時使用的總CPU時間。只需鍵入time ./my_app,而不是僅僅./my_app

欲瞭解更多信息,man 1 time