测量CPU /存储器消耗
问题描述:
我在C++中使用这种用于测量的时间执行:测量CPU /存储器消耗
struct timeval t1, t2;
gettimeofday(&t1, NULL);
gettimeofday(&t2, NULL);
int milliSeconds = (t2.tv_sec - t1.tv_sec) * 1000 + (t2.tv_usec - t1.tv_usec)/1000;
但我想也是衡量将CPU /存储器消耗。我怎样才能做到这一点?
答
要计算使用的CPU的百分比,您可以使用Alexsis Wilke建议来使用getrusage()
,并除以您在问题中计算出的总运行时间。 这将为您提供单个CPU使用的CPU的平均百分比。如果您使用的处理器数量很多,则还可以按处理器数量进行分配。
+0
感谢您的回答! – PRVS
检查'getrusage()',知道您的具体过程花费了多少时间而不是实时总量要好得多。 –
您需要指定目标操作系统是什么,您想了解哪种CPU使用情况?周期数?花在runnable上的时间?时钟时间?运行时间?用于百分比? –
不确定这是你想要的,但如果你正在寻找一个微型基准库,请尝试通过谷歌这一个:https://github.com/google/benchmark。它测量每次迭代的CPU时间以及其他事情。 – ehudt