Linux cpu frequency control

CPU Frequency Scaling On Linux With cpupower

CPU frequency scaling enable OS to scale the frequency of the CPU for several purpose, including power saving and for bench-marking purpose. This tutorial shows how to scale the frequency of CPU manually using cpupower .

  • This is tutorial is written using Ubuntu, but also tested in Arch, should works well with other linux distro too.
  • Most of the commands used below requires root permission.

Installing cpupower

Enter the command below to install the needed tools

$ sudo apt install linux-tools-common linux-tools-generic linux-tools-`uname -r` 

Steps before configuring the frequency

Changing your CPU driver

Run the command to attain CPU information:

$ cpupower frequency-info | grep driver 

It will show up something like this:

which indicates that the current driver is called intel_pstate . For more information regarding the driver, please refer to the document at kernel.org. This driver provides 2 choices of CPU governor which are performance and powersave . However, it doesn’t have the governor for us user to make customization to the frequency.

Hence, we have to replace the driver with other alternatives.

First, open the file /etc/default/grub and add the phrase intel_pstate=disable to the line GRUB_CMDLINE_LINUX_DEFAULT . After adding the phrase it should looks like

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_pstate=disable" 

Upon the next boot, check again the driver in use. If it shows acpi-cpufreq as result then we have successfully replaced the driver. To switch it back simply remove the phrase intel_pstate=disable from the line and run update-grub again.

Changing CPU governor

$ cpupower -c 0 frequency-info 

The result are shown as below:

analyzing CPU 0: driver: acpi-cpufreq CPUs which run at the same hardware frequency: 0 CPUs which need to have their frequency coordinated by software: 0 maximum transition latency: 10.0 us hardware limits: 400 MHz - 1.80 GHz available frequency steps: 1.80 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz, 1.10 GHz, 1000 MHz, 900 MHz, 800 MHz, 700 MHz, 600 MHz, 500 MHz, 400 MHz available cpufreq governors: userspace performance schedutil current policy: frequency should be within 400 MHz and 1.80 GHz. The governor "userspace" may decide which speed to use within this range. current CPU frequency: Unable to call hardware current CPU frequency: 1.40 GHz (asserted by call to kernel) boost state support: Supported: yes Active: yes 

Within the options at available cpufreq governors , we are going to use the governor userspace which allows us to do modification. If you don’t have userspace in your list then run the command

modprobe cpufreq_userspace 

To choose userspace as the CPU governor and scale the frequency, run the following commands:

$ sudo cpupower frequency-set -g userspace $ sudo cpupower frequency-set -f 1400MHz 

The input unit for the frequency can be Hz, MHz and GHz.

Your CPU should now running at your desired speed.

$ grep MHz /proc/cpuinfo cpu MHz : 1400.082 cpu MHz : 1400.100 cpu MHz : 1400.009 cpu MHz : 1400.000 cpu MHz : 1400.026 cpu MHz : 1400.123 cpu MHz : 1400.026 cpu MHz : 1400.002 

Источник

Читайте также:  Включить блютуз kali linux
Оцените статью
Adblock
detector