设置CPU频率和CPU运行核心数

2023-05-16

1、查看当前的CPU信息
cat /proc/cpuinfo
ums312_1h10:/ # cat /proc/cpuinfo                                           
processor	: 0
BogoMIPS	: 52.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x1
CPU part	: 0xd05
CPU revision	: 0

processor	: 1
BogoMIPS	: 52.00
.......
2、设置CPU运行核心数

在/sys/devices/system/cpu目录下可以查看CPU的核心数.显示为:cpu0,cpu1,…

ums312_1h10:/sys/devices/system/cpu # ls
cpu0 cpu3       cpuidle  kernel_max online   present 
cpu1 cpufreq    hotplug  modalias   possible uevent  
cpu2 cpuhotplug isolated offline    power

online文件显示当前运行的核心数
ums312_1h10:/sys/devices/system/cpu # cat online
0-3

进入cpu0中,通过更改online文件来开关cpu

ums312_1h10:/sys/devices/system/cpu/cpu0 # ls
cpu_capacity cpuidle of_node power subsystem uevent 
cpufreq      hotplug online  regs  topology 
ums312_1h10:/sys/devices/system/cpu/cpu0 # echo "0" > online  #关闭该核
ums312_1h10:/sys/devices/system/cpu/cpu0 # echo "1" > online  #打开该核
3、设置CPU运行频率

查看cpufrep目录下文件:

ums312_1h10:/sys/devices/system/cpu/cpu0/cpufreq # ls
affected_cpus    cpuinfo_min_freq           scaling_available_frequencies scaling_driver   scaling_min_freq 
cpuinfo_cur_freq cpuinfo_transition_latency scaling_available_governors   scaling_governor scaling_setspeed 
cpuinfo_max_freq related_cpus               scaling_cur_freq              scaling_max_freq stats 

首先更改governor的模式,在修改之前需先查看CPU只是哪些governor的模式

ums312_1h10:/sys/devices/system/cpu/cpu0/cpufreq # cat scaling_available_governors
interactive userspace ondemand powersave performance

performance:不降频,ondemand:使用内核提供的功能,可以动态调节频率,powersave:省电模式,通常在最低频率下运行,userspace:用户模式,在此模式下允许其它用户程序调节CPU频率.interactive:交流循环模式,只要手机运行,频率直接上最高值,然后CPU负荷慢慢降低(系统响应最快,耗电多一些).

修改模式为"userspace"
ums312_1h10:/sys/devices/system/cpu/cpu0/cpufreq # echo "userspace" > scaling_governor

然后对CPU的频率进行修改,频率不是可以任意设置的,需要参看scaling_available_frequencies文件,看支持哪些频率:

ums312_1h10:/sys/devices/system/cpu/cpu0/cpufreq # cat scaling_available_frequencies
614400 768000 962000 1144000 1228800 1482000 1536000 1716000 1820000 
ums312_1h10:/sys/devices/system/cpu/cpu0/cpufreq # echo "1716000" > scaling_setspeed

设置好频率后,通过查看文件scaling_cur_freq来获得当前的频率
ums312_1h10:/sys/devices/system/cpu/cpu0/cpufreq # cat scaling_cur_freq             
1820000

设置最大,最小频率:
ums312_1h10:/sys/devices/system/cpu/cpu0/cpufreq # echo "1716000" > scaling_max_freq
ums312_1h10:/sys/devices/system/cpu/cpu0/cpufreq # echo "1716000" > scaling_min_freq
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置CPU频率和CPU运行核心数 的相关文章

随机推荐