CPU Frequency Governor Linux

From Hack Sphere Labs Wiki
Jump to navigation Jump to search

After reading and configureing scaling in linux and reading about how scaling and really mess with applications I disabled it on systems that I can. I wanted the systems fast anyways.

Debian and Archlinux use: cpufrequtils

Archlinux

You want cpufrequtils

cpufreq-info

I had to manually configure:

Options:

cpufreq_ondemand (default and recommended)

Dynamically switches between the CPU(s) available clock speeds based on system load

cpufreq_performance

The performance governor runs the CPU(s) at maximum clock speed

cpufreq_conservative

Similar to ondemand, but the CPU(s) clock speed switches gradually through all its available frequencies based on system load

cpufreq_powersave

Runs the CPU(s) at minimum speed

cpufreq_userspace

Manually configured clock speeds by user

Add to rc.conf:

MODULES=(... cpufreq_powersave cpufreq_userspace ...)

I have a new kernel as most archlinux users do and did not need to have the system autoload the modules because they already are.

I use this laptop like a desktop but just in case I created some aliases to switch back and forth:

alias cpu.performance='sudo cpufreq-set -r -g performance'
alias cpu.ondemand='sudo cpufreq-set -r -g ondemand'
/etc/conf.d/cpufreq 
#configuration for cpufreq control

# valid governors:
#  ondemand, performance, powersave,
#  conservative, userspace
governor="performance"

# limit frequency range (optional)
# valid suffixes: Hz, kHz (default), MHz, GHz, THz
#min_freq="2.25GHz"
#max_freq="3GHz"

# use freq to set up the exact cpu frequency using it with userspace governor
#freq=

Notes

Debian

Debian was different. It uses an old kernel but I already had cpufrequtils installed and it was configured to be up and running. It may be because on install I selected laptop utils. I do not remember.

I wanted performance and I did:

echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

I still had to keep the change perm across reboots so I edited /etc/sysfs.conf with:

devices/system/cpu/cpu0/cpufreq/scaling_governor = performance

Notes