2015-11-24 35 views
-1

嘿家伙们有任何想法如何通过简单的C/C++代码控制CPU使用率?C/C++控制CPU使用

在我的情况下这样的while循环会消耗CPU使用率高达95%,

while(true) { 
    pow(2,10); 
} 

但是我需要大约监视与像5%的工序0%〜100%之间的使用。

我试图插入usleep()到while循环,但即使在最短的睡眠时间usleep(1)它只消耗大约40%的使用量。

任何帮助,高度赞赏。

Update: 此外,我问这个问题,因为我需要生成不同的CPU使用率,然后测量其相应的功耗。感谢大卫指出这一点。

+2

你需要描述你正在试图解决您可以要求我们为实现您选择的解决方案帮助之前的问题。 “我需要近似监控0%〜100%之间的使用情况,步骤如5%”,因为......? –

+1

您可以控制您多久睡一次以及多久。 –

+0

为什么投票没有给出任何理由和建议?我不认为搜索后有任何重复的问题。 – xl45

回答

1
  1. 检查挂墙时间。
  2. 做大量的计算。
  3. 查看已经过了多长时间。
  4. 计算需要多长时间闲置CPU才能获得所需的使用百分比。
  5. 睡了那么久。
  6. 转到步骤1
+0

动态功耗是非线性的,因此这解决了X(如何模拟CPU负载)而不是Y(如何找出功耗和负载之间的关系)。这实际上是一种效率VS性能(工作/ J在不同的频率/电压工作点),而不是性能VS功耗(MIPS/W)。 – user3528438

+0

@ user3528438 OP在尝试找出真正的问题并提供真正的解决方案方面并不是特别合作。 “*我不认为给我这样做的原因对这个问题有任何帮助。”所以我决定理解OP的要求并回答它。 –

+0

@ user3528438我明白你的观点,所以我怎么才能找出Y问题的答案?你能解释一下MFLO/J或MFLOPS/W是什么意思吗?其实我从来没有听说过这个。 – xl45