您的位置:首页 > 运维架构 > Linux

使程序占用CPU稳定在一个输入值(linux系统)

2016-07-16 12:27 393 查看
《编程之美》是基于windows系统的,而我使用的是ubuntu,所以在完成这道题的时候使用的是linux系统

1. top–>查询当前cpu运行状态

2. cat /proc/cpuinfo –>主机的cpu信息

/*
* 编程改变cpu占用率
* StoryMonster 2016/7/15
*/

#include <iostream>
#include <ctime>
#include <cstdlib>

using namespace std;

int main(int argc,char** argv)
{
//argv保存希望维持的cpu占用率
//cpu占用率 = 程序在一个cpu刷新周期内busy时间/cpu刷新周期
//通过对本机的研究发现:本机每次cpu刷新时间为3秒
//但是为了近可能地适用于更多主机,所以本例使用1秒为周期
int busy = atoi(argv[1]);
busy = busy*1000/100;
int relax = 1000-busy;
while(true)
{
usleep(relax*1000);                 //usleep使进程挂起relax*1000 微妙
double tim1 = clock();              //通过此例验证:clock返回时间单位为纳秒
double tim2 = clock();
while(tim2 - tim1 < busy*1000) tim2 = clock();
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cpu linux