如何使用C++11令CPU占用率为sin曲线

这题目是老生常谈了,不过多数代码都是针对windows。如今C++11/14让我们可以实现跨平台,使用这份代码几乎可以运行在任何平台。

talking is cheap,show you the code!

 1 #include <iostream>
 2 #include <ratio>
 3 #include <chrono>
 4 #include <thread>
 5 #include <cmath>
 6 int main()
 7 {
 8   using std::chrono::system_clock;
 9   const unsigned int maxCpuSleepMills=100;
10   const double PI=3.1415926;
11   const unsigned int sampleCount=300;
12   const double PI_2=PI*2;
13   int sampleSinMills[sampleCount];
14   for(unsigned int i=0;i<sampleCount;i++)
15   {
16      sampleSinMills[i]=(maxCpuSleepMills/2)+sin(PI_2*i/sampleCount)*(maxCpuSleepMills/2);
17   }
18   while(true){
19     for(unsigned int i=0;i<sampleCount;i++){
20         system_clock::time_point justNow= system_clock::now();
21         std::chrono::duration<int ,std::ratio<1,1000> > sleepMills(sampleSinMills[i]);
22         system_clock::time_point justLater = justNow + sleepMills;
23         while(system_clock::now()<justLater);
24         std::this_thread::sleep_for(std::chrono::milliseconds(maxCpuSleepMills-sampleSinMills[i]));
25     }
26
27   }
28   return 0;
29 }

代码思路一点没有变的。

时间: 2024-08-29 18:48:19

如何使用C++11令CPU占用率为sin曲线的相关文章

C++11单例模式,另附C++11令CPU占用率为sin曲线

C++11 单例模式 对于C++11来说,单例模式就是这样简单!请看代码. <span style="font-size:14px;">#include <iostream> #include <ratio> #include <chrono> #include <thread> #include <cmath> using namespace std; template <typename T> cl

Linux下如何查看高CPU占用率线程 LINUX CPU利用率计算

目录(?)[-] proc文件系统 proccpuinfo文件 procstat文件 procpidstat文件 procpidtasktidstat文件 系统中有关进程cpu使用率的常用命令 ps 命令 top命令 单核情况下Cpu使用率的计算 基本思想 总的Cpu使用率计算 计算方法 某一进程Cpu使用率的计算 计算方法 实验数据 某一线程Cpu使用率的计算 计算方法 实验数据 多核情况下cpu使用率的计算 实验一 描述 数据一 数据二 实验二 描述 数据一 数据二 主要问题 Java 系统

线上Java程序导致服务器CPU占用率过高的问题排除过程

博文转至:http://www.jianshu.com/p/3667157d63bb,博文更好效果看原版,转本博文的目的就算是个书签吧,需要时候可以定位原文学习 1.故障现象 客服同事反馈平台系统运行缓慢,网页卡顿严重,多次重启系统后问题依然存在,使用top命令查看服务器情况,发现CPU占用率过高. 2.CPU占用过高问题定位 2.1.定位问题进程 使用top命令查看资源占用情况,发现pid为14063的进程占用了大量的CPU资源,CPU占用率高达776.1%,内存占用率也达到了29.8% [[

云服务器 ECS Linux 系统 CPU 占用率较高问题排查思路

https://help.aliyun.com/knowledge_detail/41225.html?spm=5176.7841174.2.2.ifP9Sc 注意:本文相关配置及说明已在 CentOS 6.5 64 位操作系统中进行过测试.其它类型及版本操作系统配置可能有所差异,具体情况请参阅相应操作系统官方文档. 如果云服务器 ECS Linux 系统的 CPU 持续跑高,则会对系统稳定性和业务运行造成影响.本文对 CPU 占用率较高问题的排查分析做简要说明. CPU 负载查看方法 使用 v

关于vmstat,top,ps aux查看的cpu占用率不一致的问题

问题: 用vmstat,top,和ps aux三个命令查看进程对cpu的占用率,数值差异很大. 例: 用 vmstat 查看系统cpu空闲率, id是cpu的空闲率,可以看出,空闲率一直在73%以上 用 ps aux 统计两个compress进程的cpu占用率,长时间恒定在15.5%和28.9% 用 top统计两个compress进程的cpu占用率,可以看出是一个动态变化的过程 (命令执行结果后面有显示) 这三个命令查出的cpu利用率不统一 首先,ps aux中两个compress进程占用cpu

1.1 让CPU占用率曲线听你指挥[cpu manager]

[本文链接] http://www.cnblogs.com/hellogiser/p/cpu-manager.html [题目] 写一个程序,让用户来决定Windows任务管理器(Task Manager)的CPU占用率.程序越精简越好,计算机语言不限.例如,可以实现下面三种情况: 1.    CPU的占用率固定在50%,为一条直线: 2.    CPU的占用率为一条直线,但是具体占用率由命令行参数决定(参数范围1~ 100): 3.    CPU的占用率状态是一个正弦曲线. [分析] 如果不考

[RK_2014_0918]linux下,测试usleep函数对CPU占用率的影响

一.本机环境 CPU信息 Intel(R) Core(TM) i3 CPU M 350 @ 2.27GHz Intel(R) Core(TM) i3 CPU M 350 @ 2.27GHz Intel(R) Core(TM) i3 CPU M 350 @ 2.27GHz Intel(R) Core(TM) i3 CPU M 350 @ 2.27GHz 内存信息MemTotal: 1990228 kB 二.搭建测试代码 1.测试代码 #include <iostream> #include &l

zprofiler三板斧解决cpu占用率过高问题

zprofiler三板斧解决cpu占用率过高问题  九居 浏览 171 2015-04-08 14:11:58 发表于:JVM性能与调试平台 zprofiler 上周五碰到了一个线上机器cpu占用率过高的问题.问题本身比较简单,但是定位过程中动用了多个zprofiler的主要功能,感觉是一个很好的介绍使用zprofiler定位此类问题流程的案例. 在开始使用zprofiler之前,先使用perf确认瓶颈点是否在native中.(以下操作需要root权限,需要pe协助操作)如果线上服务器没有安装p

记一次线上Java程序导致服务器CPU占用率过高的问题排除过程

https://blog.csdn.net/u013991521/article/details/52781423 1.故障现象 客服同事反馈平台系统运行缓慢,网页卡顿严重,多次重启系统后问题依然存在,使用top命令查看服务器情况,发现CPU占用率过高. 2.CPU占用过高问题定位 2.1.定位问题进程 使用top命令查看资源占用情况,发现pid为14063的进程占用了大量的CPU资源,CPU占用率高达776.1%,内存占用率也达到了29.8% [ylp@ylp-web-01 ~]$ top t