Android下设置CPU核心数和频率 |
您所在的位置:网站首页 › 调节cpu核心数 › Android下设置CPU核心数和频率 |
设置CPU的频率 首先我们要修改governor的模式,但在修改前需要查下CPU支持哪些governor的模式 1 cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors我用的是Nexus 4手机,所以有以下5个选择,其他的手机型号可能略有不同 1 interactive ondemand userspace powersave performance这里performance表示不降频,ondemand表示使用内核提供的功能,可以动态调节频率,powersvae表示省电模式,通常是在最低频率下运行,userspace表示用户模式,在此模式下允许其他用户程序调节CPU频率。 在这里,我们将模式调整为“userspace”。 1 echo "userspace" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor然后我们对CPU的频率进行修改,CPU的频率不是可以任意设置的,需要查看scaling_available_frequencies文件,看CPU支持哪些频率。 1 cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies从我的手机中可以获得以下的值 384000 486000 594000 702000 810000 918000 1026000 1134000 1242000 1350000 1458000 1512000 这里的频率是以Hz为单位的,我准备将cpu0设置为1.242GHz,那就将1242000写入scaling_setspeed即可。 1 echo "1242000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed设置好后,我们可以通过scaling_cur_freq文件查看当前这个核心的频率 1 cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq最后我们也可以设置下CPU的最大和最小频率,只需要将需要设置的频率值写入scaling_max_freq和scaling_min_freq即可 1 2 echo "1350000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq # 设置最大频率 echo "384000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq # 设置最小频率这里要注意的是“最大值”需要大于等于“最小值”。 注意,这里设置的仅为某个CPU核心的频率,你需要对每个online的CPU核心都进行设置,同时以上对文件的修改均需要root权限。 通过减少online的核心数和限制CPU频率固然可以起到节省电量的目的,但是性能也是显著降低,所以需要做一个权衡。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |