提高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 package或googlecode的源代码.
它是在asm中实现的,所以你必须制作一些粘合剂才能在C中与它交互.
标签:c-3,linux,cpu,utilization 来源: https://codeday.me/bug/20190626/1292061.html