Android下设置CPU核心数和频率

您所在的位置:网站首页 调节cpu核心数 Android下设置CPU核心数和频率

Android下设置CPU核心数和频率

2024-07-09 15:47| 来源: 网络整理| 查看: 265

设置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