linux控制cpu占用率
之前在<编程之美>上提到说控制cpu的使用率使能在任务管理器上画一条正弦线
现在下面提供一个在Linux平台上实现的控制cpu频率在某个值
cpu_load.c
#include <iostream>
#include <pthread.h>
#include <time.h>
#include <math.h>
#include <unistd.h>using namespace std;typedef long long int int64;
const int NUM_THREADS = 1; //CPU core nums
int INTERVAL = 100;
int cpuinfo = 15; //CPU utilization rate// time unit is "ms"
int64 GetTickCount()
{timespec now;int64 sec, nsec;clock_gettime(CLOCK_MONOTONIC, &now);sec = now.tv_sec;nsec = now.tv_nsec;return sec * 1000 + nsec / 1000000;
}void* CPUCost(void *args)
{int busyTime = INTERVAL * cpuinfo / 100;int idleTime = INTERVAL - busyTime;int64 startTime = 0;std::cout << "XXXX CPUCost" << std::endl;std::cout << "XXXX cpuinfo = " << cpuinfo << std::endl;/** within INTERVAL ms, INTERVAL = busyTime + idleTime,* spend busyTime ms to let cpu busy,* spend idleTime ms top let cpu idle*/while (true) {startTime = GetTickCount();while((GetTickCount() - startTime) <= busyTime);usleep(idleTime * 1000);}
}int main(int argc, char **argv)
{pthread_t t[NUM_THREADS];int ret;std::cout << "please input cpu utilization rate" << std::endl;std::cin >> cpuinfo;for(int i = 0; i < NUM_THREADS; i++) {ret = pthread_create(&t[i], NULL, CPUCost, NULL);if(ret)std::cout << "XXXX create err" << std::endl;}pthread_exit(NULL);return 0;
}
编译: g++ cpu_load.c -lpthread -lrt -o cpu_load
1.设置cpu的占用率为10%
2.设置cpu的占用率为60%
3.设置cpu的占用率为100%
程序需要在空闲的机器上运行,才能比较精确地获取到设置的CPU利用率
linux控制cpu占用率相关推荐
- linux cpu不足处理运维,Linux运维知识之Linux服务器CPU占用率较高问题排查思路
本文主要向大家介绍了Linux运维知识之Linux服务器CPU占用率较高问题排查思路,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 注意:本文相关配置及说明已在 CentOS ...
- linux查看cpu占用率的方法:
linux查看cpu占用率的方法: 一.查看单核CPU占用率,终端上输入"top". 二.查看多核CPU占用率,终端上输入"top",进入界面再输入" ...
- linux查看cpu占用率_Linux 性能查看
查看系统负载 uptime 这个命令可以快速查看机器的负载情况. 在Linux系统中,这些数据表示等待CPU资源的进程和阻塞在不可中断IO进程(进程状态为D)的数量. 命令的输出,load avera ...
- linux服务器下降,Linux服务器CPU占用率上升速度下降的解决
在linux服务器运行中,有时候会出现下列现象: CPU占用率很高,超过10,并且各种程序都轻松占用到90%,web访问很慢,基本无法执行,邮件投递基本无响应. 遇到上述情况,可执行dmesg查看是否 ...
- linux rsyslogd cpu占用率高问题
最近有几次,linux centos 7 服务停了后,重启,再起一些应用后,查看top后,rsyslogd cpu占用率高问题, 先说我这块怀疑导致的原因吧. 原因 很有可能是当前机器的系统盘挂载出现 ...
- linux下CPU占用率查看方法
关键词:top.perf.sar.ksar.mpstat.uptime.vmstat.pidstat.time.cpustat.munin.htop.glances.atop.nmon.pcp-gui ...
- linux c 控制cpu占用率
之前在<编程之美>上提到说控制cpu的使用率使能在任务管理器上画一条正弦线 现在下面提供一个在Linux平台上实现的控制cpu频率在某个值 cpu_load.c #include < ...
- java检测服务器磁盘空间占满_Java性能检测工具-记录一次通过jstack排查Linux服务器CPU占用率很高的实践...
一.问题描述 Linux服务器的配置是4核16G,将war包部署到tomcat后,启动tomcat,发现内存占用率不高,但是CPU一直高达100%:浏览器输入相关url也无法访问该项目,且tomcat ...
- Linux 系统 CPU 占用率较高问题排查思路
CPU负载查看方法: 使用vmstat查看系统维度的CPU负载 使用top查看进程维度的CPU负载 https://blog.csdn.net/lufeisan/article/details/531 ...
最新文章
- 这个安全平台结合Spring Security逆天了,我准备研究一下
- 浏览器用xpath获取一直为空
- 操作系统(二十四)多生产者多消费者问题
- 导出测试点的信号名_小程序导出数据到excel表,借助云开发云函数实现excel数据的保存...
- java百度地图添加标注_调取百度地图接口,实现取自己的实时位置,然后可以在百度地图上添加信息标注...
- 『设计模式』反射,反射程序员的快乐!为什么我老是加班?为什么我工资不如他多?原来是我不懂反射!
- UE4 在游戏中使用Slate
- GridView自带的分页功能的实现
- Java基础教程【第九章:异常处理】
- win10计算机系统慢,升级Win10后电脑变慢了?老电脑装Win7、Win10流畅性测试
- IP切换器哪个最好用?
- html js点赞功能实现,利用浏览器的JS代码实现QQ空间自动点赞功能
- 2019主流的前端框架
- 信息 按顺序打印commit_Git 工作流,看这一篇就够了
- 分级基金下折套利风险介绍
- 记录下SpringBoot父子工程使用jib构建docker镜像的过程(跳过多余模块)
- mysql 统计请假天数_知道请假时间段、工作日和工作时长,计算请假天数
- 【2021软件测试扫盲】测试理论(325页“面试教科书”免费送)
- 二维码门禁的解决方案
- 电阻、二极管、三极管搭出的逻辑电路
热门文章
- 【SCIR笔记】多模态摘要简述
- Cauchy-Schwarz Inequality
- Codeforces Round #672 (Div. 2) 	C2 - Pokémon Army (hard version)(贪心,维护变化值)
- 计算机键盘无法使用怎么处理,电脑键盘失灵怎么解决
- openmv 神经网络 超出内存_星瞳科技OpenMV视频教程22-神经网络cifar_10
- 什么是 SHA 加密? SHA-1 与 SHA-2
- vue中调用百度地图 获取经纬度
- C语言如何求出一堆整数的最大值
- SQL 数据库 学习 011 关系、一对一、一对多、多对多
- 百度语音识别jar下载