Use the script below to set the min, max and CPU governor in Linux:
#!/usr/bin/env bash
MIN_FREQ=800000
MAX_FREQ=1000000
GOVERNOR=powersave
for i in `seq 0 3`;
do
echo ${GOVERNOR} > /sys/devices/system/cpu/cpu${i}/cpufreq/scaling_governor
echo ${MAX_FREQ} > /sys/devices/system/cpu/cpu${i}/cpufreq/scaling_max_freq
echo ${MIN_FREQ} > /sys/devices/system/cpu/cpu${i}/cpufreq/scaling_min_freq
done
do
echo ${GOVERNOR} > /sys/devices/system/cpu/cpu${i}/cpufreq/scaling_governor
echo ${MAX_FREQ} > /sys/devices/system/cpu/cpu${i}/cpufreq/scaling_max_freq
echo ${MIN_FREQ} > /sys/devices/system/cpu/cpu${i}/cpufreq/scaling_min_freq
done
Set the max number of cores accordingly.
Script requires the following packages to be installed:
- cpufrequtils
- cpufreqd
Run the command below to verify that the changes are applied:
$ cpufreq-info
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
driver: intel_pstate
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 4294.55 ms.
hardware limits: 700 MHz - 3.40 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 800 MHz and 1000 MHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency is 754 MHz.
analyzing CPU 1:
driver: intel_pstate
CPUs which run at the same hardware frequency: 1
CPUs which need to have their frequency coordinated by software: 1
maximum transition latency: 4294.55 ms.
hardware limits: 700 MHz - 3.40 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 800 MHz and 1000 MHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency is 800 MHz.
analyzing CPU 2:
driver: intel_pstate
CPUs which run at the same hardware frequency: 2
CPUs which need to have their frequency coordinated by software: 2
maximum transition latency: 4294.55 ms.
hardware limits: 700 MHz - 3.40 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 800 MHz and 1000 MHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency is 800 MHz.
analyzing CPU 3:
driver: intel_pstate
CPUs which run at the same hardware frequency: 3
CPUs which need to have their frequency coordinated by software: 3
maximum transition latency: 4294.55 ms.
hardware limits: 700 MHz - 3.40 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 800 MHz and 1000 MHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency is 795 MHz.
Great script and clear instructions! This will definitely help optimize CPU performance and energy efficiency. Thanks for sharing such a practical and useful solution! It’s a helpful reminder of how simple tweaks can improve efficiency on Linux systems.
ReplyDeletedata science internship |
python internship |
artificial intelligence internship |
java internship |
cyber security internship