我想在linux(Ubuntu)的程序中更改cpu(ARM)频率.C中是否有任何cpu频率缩放和关闭核心API?该API是否可以处理多核CPU中的每个核心?解决方法:在Linux中,有几种方法可以控制频率.您可以使用IA32_PERF_CTL寄存器设置受...
我想在linux(Ubuntu)的程序中更改cpu(ARM)频率.
C中是否有任何cpu频率缩放和关闭核心API?
该API是否可以处理多核CPU中的每个核心?
解决方法:
在Linux中,有几种方法可以控制频率.您可以使用IA32_PERF_CTL寄存器设置受支持的Intel处理器的电源状态.但是,您可以使用通过sysfs文件系统导出的cpufreq接口,该接口不仅支持Intel CPU.
您可以在/ sys / devices / system / cpu / cpuX / *中查看可以更改的参数.这里有一些提示:
关闭频率缩放是通过调节器完成的,该调节器处理将处理器置于不同状态的策略.例如,要获得完整的性能,您可以执行以下操作:
echo performance > /sys/devices/system/cpu/cpuX/cpufreq/scaling_governor
有多个调控器,您可以在此处查看:
cat /sys/devices/system/cpu/cpuX/cpufreq/scaling_available_governors
由于通过文件系统界面访问此文件很麻烦.您可以使用libudev访问cpufreqs成员.有关教程,请参见udev documentation和here.
关于分别处理每个核心的一个限制.这取决于CPU的支持.有时,两个或多个内核必须以相同的频率运行,这是对硬件的简单限制.请参见此post的答案.
本文标题为:C语言中的cpu频率缩放linux API
基础教程推荐
- 利用QT设计秒表功能 2023-05-30
- C语言植物大战数据结构二叉树递归 2023-04-09
- C语言数组长度的计算方法实例总结(sizeof与strlen) 2023-04-26
- g++: const 丢弃限定符 2022-10-07
- 纯C++代码详解二叉树相关操作 2023-05-15
- character-encoding – Linux中最常见的C语言编码(和Unix?) 2023-11-21
- 05-C语言进阶——动态内存管理 2023-11-20
- VisualStudio2010安装教程 2023-01-05
- C语言的三种条件判断语句你都了解吗 2023-03-05
- Qt数据库应用之实现通用数据库请求 2023-03-18
