2014-10-10 112 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