2014-10-10 44 views
-1

我有一個使用套接字的應用程序,並且在服務器端運行一個Java程序,而在客戶端,一個C++程序正在運行。測量C++和Java進程的CPU使用率

我想測量應用程序的CPU使用率。目前,我使用ctime C++庫提供的clock()函數來測量C++程序的CPU使用率。這可能被看作是一個天真的問題,但是這不包括其子進程的CPU使用情況,包括服務器端Java程序,是不是?

如果情況並非如此,JConsole是衡量Java程序CPU使用率的好工具嗎?

回答

3

不,clock()不包括服務器端Java程序的CPU使用率。

您可以參考here對java的分析工具/分析器提供

+0

Thanks @ManoNamo。這是我想要使用的。 JConsole獲得我的投票。 – STiGMa 2014-10-10 15:31:02

+0

不客氣! – 2014-10-10 16:03:11

0

不幸的是,沒有可以執行此特定任務的程序構建功能。

我建議你使用C++的SIGAR API,這對檢查CPU使用率很有幫助,並且還提供了檢查內存統計信息的選項,但是SIGAR API不用於多種語言。

0

列表如果你只希望終止兒童衡量CPU使用率,那麼你可以使用getrusage()功能。如果你想實時測量CPU使用率,那麼它取決於你的操作系統。例如,如果您的* NIX系統支持/proc,則可以在/proc/<PID>/stat中解析數據。

+0

這是一個選項,但由於我想在程序運行時監視CPU使用情況,但這並不是我所尋找的代碼,特別是因爲ps命令本身就是一個進程,並且需要額外的CPU – STiGMa 2014-10-10 15:33:34