Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to change clock frequency in Android?

I'm a new to software development on Android.

I want to make an application like SetCPU that can manipulate CPU frequency in Android.

But I couldn't find some related APIs or materials.

I want to know following two things sincerely.

  1. Are there APIs to change the CPU frequency in Android?
  2. If not, are there some APIs in Linux?
like image 918
zephyrus Avatar asked Nov 21 '10 16:11

zephyrus


1 Answers

Some commands in ADB

Set Governor:

adb shell echo "userspace" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Set Frequency in KHz:

adb shell su -c "echo "702000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed"
//min frequency
adb shell su -c "echo "384000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq"  
//MAX frequency
adb shell su -c "echo "384000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq" 

Get current CPU Frequency:

adb shell cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq

Show availables governors:

adb shell su -c "cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors"

Disable service that overwrite cpu online file:

adb shell su -c "stop mpdecision" 

It's necessary to do this before enabling or disabling core. mp decision is restarted if the system is restarted.

Disable core:

adb shell su -c "echo "0" > /sys/devices/system/cpu/cpu3/online"

If that doesn't work:

& chmod 444 /sys/devices/system/cpu/cpu1/online 
like image 109
Sidartha Carvalho Avatar answered Sep 23 '22 14:09

Sidartha Carvalho