linux下给CPU增加指定百分比的压力
场景和目的
一台计算机会因为当前CPU的占率不同情况表现出不同的稳定性和实时性以及其他性能情况。需要编写一个程序将一个CPU或者多个CPU占用到指定值的占用率,比如50%。很多工具都是直接一颗CPU占满,意义不大。故此特地写一个代码。
源代码
#include <thread>
#include <unistd.h>
#include <signal.h>
#include <functional>#define SLEEP_TIME 8
#define SLEEP_RATE 2bool b_exit = false;static void my_handler(int sig)
{b_exit = true;
}void cpu_run(int p_cpuid)
{cpu_set_t set;CPU_ZERO(&set);CPU_SET(p_cpuid, &set);pthread_setaffinity_np(pthread_self(), sizeof(set), &set);int64_t t = 0;while (!b_exit){for (int i = 0; i < 1024; i++){for (int j = 0; j < 1024 * 1024; j++){t = 123456789;t *= 123456789;}if (i % SLEEP_RATE == 0){std::this_thread::sleep_for(std::chrono::milliseconds(SLEEP_TIME));}}}if (b_exit) exit(0);
}int main()
{signal(SIGINT, my_handler);int cpu_num = sysconf(_SC_NPROCESSORS_CONF);for (int i = 0; i < cpu_num; i++){std::thread *p = new std::thread(std::bind(cpu_run, i));}std::this_thread::sleep_for(std::chrono::hours(24));return 0;
}
使用方式
g++ main.cpp -lpthread -std=c++17
./a.out
打开另个窗口使用HTOP观察所有CPU占比。由于各种各样的CPU性能差异,可以通过调节SLEEP_TIME和SLEEP_RATE的值来达到不同的占比情况。(注意:此处默认会将所有CPU达到同一个使用率,如果不想耗费所有CPU简单修改一下代码即可)。想要结束在运行程序窗口Ctrl+C即可。
使用效果
linux下给CPU增加指定百分比的压力相关推荐
- linux 多核cpu监控,Linux 下多核CPU知识
1. 在Linux下,如何确认是多核或多CPU: #cat /proc/cpuinfo 如果有多个类似以下的项目,则为多核或多CPU: processor : 0 ...... processor ...
- linux怎么增加cpu负载,Linux下的CPU平均负载
linux下的CPU平均负载 一.注销登陆过的用户 先用w命令查看该用户tty号,然后用fuser -k tty号(或显示pts/*)就可以踢出了 先用w命令查看在线用户 然后 pkill -kill ...
- linux下的CPU、内存、IO、网络的压力测试
linux下的CPU.内存.IO.网络的压力测试 要远程测试其实很简单了,把结果放到一个微服务里直接在web里查看就可以了,或者同步到其他服务器上 一.对CPU进行简单测试: 1.通过bc命令计算特别 ...
- linux下查看cpu负载及分析
linux下查看cpu负载有两个命令可以看:uptime 和 top. 其中load average的三个值分别表示1分钟.5分钟.15分钟的CPU负载情况,是运维需要经常关注的 那么怎么确定这些值展 ...
- linux模拟cpu过载,linux下模拟CPU占用100%小程序
linux下模拟CPU占用100%小程序 来源:https://blog.csdn.net/lin434406218/article/details/54694900 一.单个核100% 代码kill ...
- linux下限制CPU使用率的3种方法 (转)
在租的云服务器上架了一个获取BTCC实时交易数据的服务器程序,因为用了一个while死循环处理数据信息,所以云服务器上的处理器占用率一直在90%多,这两天邮箱里一直收到服务器CPU占用率过高的邮件,在 ...
- linux在指定行添加内容,linux下利用shell在指定的行添加内容的方法
linux下利用shell在指定的行添加内容的方法 在linux的一些配置中总会要进行某个文件中的某行的操作,进行增加,修改,删除等操作. 而这里主要是进行的是指定的行添加数据的操作: 脚本如下: s ...
- linux下限制CPU使用率的3种方法
转载:http://blog.163.com/song_0803/blog/static/4609759720091014106684/ linux下限制CPU使用率的3种方法 1,apache本身的 ...
- Ubuntu16.04安装(个鬼鬼)linux下的cpu温度监控软件 lm-sensors,设置cpupower
感觉好惨,毕设一波三折换了两回题目--进度条显示为∞.还能怎么办,继续做啊--现在是先做这个比较稳的简单的把实验先搞完.准备工作一安装im-sensors 安装linux下的cpu温度监控软件 lm- ...
最新文章
- 关于授予81项成果2019年度“吴文俊人工智能科学技术奖”的决定
- Cocos2d-x3.1颗粒使用
- C++网络编程(一)
- java各科成绩排序_java 成绩排序
- dede 验证码不显示 vdimgck.php,Dede后台验证码不显示解决方法详解(dedecms 5.7)
- ASP.NET 图片剪辑控件
- Spring Boot退出代码–创建自定义退出代码
- bulter机器人_科普!九款使用率最高的物流机器人大盘点!
- Python机器学习:决策树003使用信息熵寻找最优划分
- 使用MagicRecon在挖洞时最大化数据收集量
- 中小型软件产品解决方案模板
- 如何将绿色软件制作成云端平台中的软件包
- c语言编程竞赛活动主题,第三届“希望之星”C语言编程大赛系列活动
- web网站添加ico图标
- Endnote 插入文献导致word崩溃!!解决方法
- IDV VDI TCI RDS区别
- 微信公众号自定义菜单创建
- Html是网页制作的核心语言吗,html网页设计报告总结.doc
- php pdf文档内容修改,php2pdf-如何使用php修改pdf中的内容,并且保证格式不乱
- Apache Kudo: 1.0版和未来 [session]