C++控制CPU核的使用
SetProcessAffinityMask
参数一:进程句柄 -1为自身句柄
参数二:指定CPU
参数二的设置是二进制转十进制。参数二需填写十进制数字
例如我想设置
1CPU二进制为1 转换为十进制为 1
2CPU二进制为10 转换为十进制为 2
3CPU二进制为100 转换为十进制为 4
4CPU二进制为1000 转换为十进制为 8
1,2CPU二进制为11 转换为十进制为 3
3,4CPU二进制为1100 转换为十进制为 12
123CPU二进制为1110 转换为十进制为 14
1234CPU二进制为1111 转换为十进制为 15
exp:
SetProcessAffinityMask(GetCurrentProcess(),7)使用前三个核
SetProcessAffinityMask(GetCurrentProcess(),16)使用第五个核(如无第五个核则取小于16的最近的核组数,此时15即1234,这四个核)
获取系统总的核数并使用前n-1个核
SYSTEM_INFO info;
GetSystemInfo(&info);
int corenum = info.dwNumberOfProcessors;//计算核数法1
// int corenum2 = std::thread::hardware_concurrency();//计算核数法2
SetProcessAffinityMask(GetCurrentProcess(), pow(2, corenum-1)-1);
C++控制CPU核的使用相关推荐
- c和cpp实现CPU核上绑定固定线程
文章目录 参考链接: 相关概念及工具 CPU亲和性 查看cpu有几个核 命令查看 代码查看 代码讲解 cpu集(cpu_set_t) cpu_set_t的使用 非动态分配cpu_set_t 动态分配c ...
- MTK开发之cpu核开关与频率调节
一.最近碰到MTK芯片cpu时常跑满,四核又经常变为两核,导致各种卡顿,放音乐都卡,所以想强制让它跑四核,让系统跑的流畅一些. 1.首先通过adb查看系统cpu有几个核心 在/sys/devices/ ...
- 在MTK芯片上如何控制CPU的核数和频率-MTK PerfService
在MTK芯片上如何控制CPU的核数和频率-MTK PerfService 一句话:PerfService就是用来调整CPU/GPU资源的.对于老的API,可以更简单地讲就是调CPU核数和CPU频率的. ...
- 在MTK芯片上如何控制CPU的核心数和频率--MTK PerfService
在MTK芯片上如何控制CPU的核数和频率-MTK PerfService 一句话:PerfService就是用来调整CPU/GPU资源的.对于老的API,可以更简单地讲就是调CPU核数和CPU频率的. ...
- 使用 sched_setaffinity 将线程绑到CPU核上运行
linux 提供CPU调度函数,可以将CPU某一个核和指定的线程绑定到一块运行. 这样能够充分利用CPU,且减少了不同CPU核之间的切换,尤其是在IO密集型压力之下能够提供较为友好的性能. 通过sch ...
- linux下把进程绑定到特定cpu核上运行
现在大家使用的基本上都是多核cpu,一般是4核的.平时应用程序在运行时都是由操作系统管理的.操作系统对应用进程进行调度,使其在不同的核上轮番运行. 对于普通的应用,操作系统的默认调度机制是没有问题的. ...
- taskset -pc PID 查看线程占用cpu核
taskset -pc PID 可以用于 查看 当前线程 对应绑定的 在 哪个核上面. 这个 可以用于 程序优化, 查看 哪个线程占用的 cpu 比重比较高 首先 可以通过 top -H - ...
- linux c 控制cpu占用率
之前在<编程之美>上提到说控制cpu的使用率使能在任务管理器上画一条正弦线 现在下面提供一个在Linux平台上实现的控制cpu频率在某个值 cpu_load.c #include < ...
- 为什么要把进程/线程绑定到特定cpu核上运行?(cpu core id coreIdx)opdevsdk_sys_bindThreadCoreId()
看海康hikflow_demo代码,在线程处理函数里调用了绑定函数,把这个线程绑定到某个cpu核上,不知为何要这么做? 原因 答1 现在大家使用的基本上都是多核cpu,一般是4核的.平时应用程序在运行 ...
最新文章
- 写时复制(Copy-On-Write)思想在Java中的应用
- 论文简述 | CamVox: 一种低成本、高精度的激光雷达辅助视觉SLAM系统
- linux没有semanage命令,SELinux-semanage命令详解
- 基建管控系统_科技|电力北斗科技创新为数字新基建赋能
- ChartDirector资料小结
- 云南旅游市场整治呈压倒性态势 旅游人次及年收入双增长
- java8--IO(java疯狂讲义3复习笔记)
- matlab实现浮点转定点,浮点转定点方法总结.doc
- echarts 3d饼图_Echarts 使用教程 1 基本使用方法
- [蛋蛋插画日记]喂喂,看“表演”请砸钱币喔!
- tfs nginx 端口调用失败?
- Web安全—Web漏扫工具NetSparker安装与使用
- 基于java的智能计算器_基于Java的语音计算器实现
- EDM模板设计:教您设计三种独特的邮件营销模板
- 【AAAI 2021】多出口架构的知识蒸馏:Harmonized Dense Knowledge Distillation Training for Multi-Exit Architectures
- vue 获取当前日期的农历(阴历)
- JAVA打印空三角形
- 国内研发团队普遍常见问题
- 修改RedHat启动项
- 游戏产业撬动元宇宙市场 虚拟现实引爆计算力需求
热门文章
- 关于ckeditor的配置
- windows下bat批处理实现守护进程
- bottleneck resnet网络_Detection学习之四-利用pytorch实现resnet
- JAVA获取同一路径下所有子类或接口实现类
- linux记录iptables日志,linux – 如何配置syslog.conf文件,在单独的文件中记录iptables消息?...
- 为何网站天天更新收录还是那么慢吗
- linux启动找不到,pxe启动的时候找不到pxelinux.0的原因
- [转]-Sublime Text 3最好的功能、插件和设置
- (转)Managed DirectX +C# 开发(入门篇)(六)
- MFC 教程【4_消息映射的实现】