其他分享
首页 > 其他分享> > 提高CPU利用率并使用C代码将其保持在一定水平

提高CPU利用率并使用C代码将其保持在一定水平

作者:互联网

我正在编写一个C代码(在Linux上),它需要在运行时消耗一定量的CPU.我正在进行一项实验,在达到某个CPU阈值时触发某些操作.因此,一旦利用率达到某个阈值,我需要将其保持在该状态30秒,直到我完成实验.我使用top命令监视CPU利用率.

所以我的问题是 –
1.如何将CPU利用率提高到给定值(如果可能,以确定的方式)?
2.一旦达到阈值,是否有办法在预定时间内将其保持在该水平?

top命令的示例输出(第9列是’top’进程使用的CPU) –
19304 abcde 16 0 5448 1212 808 R 0.2 0.0 0:00.06 top

与上面类似,我将查看顶部的行,它显示了我的二进制文件的利用率.

任何帮助,将不胜感激.另外,如果您需要更多详细信息,请与我们联系.

谢谢!

编辑:
以下代码行允许我很好地控制CPU利用率 – 在下面的例子中,我有两个选项 – 保持在50%以上并保持在50%以下 – 经过一些反复试验后,我确定了给定的usleep值.

endwait = clock() + ( seconds * CLOCKS_PER_SEC );
while( clock() < endwait ) {}
if (cpu_utilization > 50)
    usleep(250000); 
else
    usleep(700000);

希望这可以帮助!

解决方法:

众所周知,cpuburn会使CPU利用率如此之高,以至于将温度升高到最高水平.
似乎没有关于它的官方网站,但你仍然可以访问Debian packagegooglecode的源代码.
它是在asm中实现的,所以你必须制作一些粘合剂才能在C中与它交互.

标签:c-3,linux,cpu,utilization
来源: https://codeday.me/bug/20190626/1292061.html