1、查看当前的CPU信息
cat /proc/cpuinfoums312_1h10:/ # cat /proc/cpuinfo processor: 0BogoMIPS: 52.00Features: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddpCPU implementer: 0x41CPU architecture: 8CPU variant: 0x1CPU part: 0xd05CPU revision: 0processor: 1BogoMIPS: 52.00.......
2、设置CPU运行核心数
在/sys/devices/system/cpu目录下可以查看CPU的核心数.显示为:cpu0,cpu1,…
ums312_1h10:/sys/devices/system/cpu # lscpu0 cpu3 cpuidle kernel_max online present cpu1 cpufreq hotplug modalias possible uevent cpu2 cpuhotplug isolated offline poweronline文件显示当前运行的核心数ums312_1h10:/sys/devices/system/cpu # cat online0-3
进入cpu0中,通过更改online文件来开关cpu
ums312_1h10:/sys/devices/system/cpu/cpu0 # lscpu_capacity cpuidle of_node power subsystem uevent cpufreqhotplug 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 # lsaffected_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_cpusscaling_cur_freq scaling_max_freq stats
首先更改governor的模式,在修改之前需先查看CPU只是哪些governor的模式
ums312_1h10:/sys/devices/system/cpu/cpu0/cpufreq # cat scaling_available_governorsinteractive userspace ondemand powersave performanceperformance:不降频,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_frequencies614400 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_frequms312_1h10:/sys/devices/system/cpu/cpu0/cpufreq # echo "1716000" > scaling_min_freq