测量C ++和Java进程的CPU使用情况

时间:2014-10-10 13:06:04

标签: java c++ performance cpu

我有一个使用套接字的应用程序,在服务器端运行java程序,而在客户端,运行C ++程序。

我想测量应用程序的CPU使用率。目前,我使用ctime c ++库提供的clock()函数来测量我的C ++程序的CPU使用率。它可能被视为一个天真的问题,但这不包括其子进程的CPU使用情况,包括服务器端Java程序,是吗?

如果不是这样,JConsole是否是测量Java程序CPU使用率的好工具?

3 个答案:

答案 0 :(得分:3)

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

您可以参考here获取可用的Java分析工具/分析器列表

答案 1 :(得分:0)

不幸的是,没有程序构建的功能可以执行此特定任务。

我建议您使用SIGAR API作为C ++,它非常适合检查CPU使用情况,还可以选择检查内存统计信息,但SIGAR API不用于多语言。

答案 2 :(得分:0)

如果您只想测量已终止子项的CPU使用率,则可以使用getrusage()函数。如果要实时测量CPU使用率,则取决于您的操作系统。例如,如果您的* NIX系统支持/proc,则可以解析/proc/<PID>/stat中的数据。