工作过程中,我需要对Android手机的CPU数据做一些分析,但是发现CPU频率是一直变化的,于是用了以下方法将其固定下来。
1.将手机与电脑连接,确认可以在CMD窗口使用ADB,输入 adb devices
查看与本机连接的虚拟Android设备。图中13a1ca1c即为我的Android手机序列号。
2.输入 adb -s 13a1ca1c(手机序列号) shell
,进入手机的shell模式。由于更改CPU频率需要root权限,再输入 su
获取手机root权限。”$”变成”#”即表明成功获取root权限。
3.访问/sys/devices/system/cpu文件目录,这一目录下有关于手机CPU的各种信息,比如CPU核数、频率、各核的运行状态等。输入命令查看CPU支持哪些governor模式,其中会有一个userspace用户自定义模式,该模式为用户提供了调节CPU运行频率的接口。
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
输入命令将governor模式修改为userspace。
echo "userspace" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
4.CPU频率虽然可以更改,但是只能支持某几个固定的值,而不能任意更改。输入命令查看CPU可以支持的频率值。
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
5.选择一个支持的频率,比如我选择918000Hz进行设定,命令为
echo "918000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
6.输入命令查看当前CPU频率,验证设置成功。
‘cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq’