Created
January 8, 2012 18:21
-
-
Save devkral/1579210 to your computer and use it in GitHub Desktop.
cpupower init enhanced version
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# The CPU specific power-management-driver (e.g. powernow-k8) is necessary for cpupower to work. Don't forget to load it! | |
# valid governors: | |
# ondemand, performance, powersave, | |
# conservative, userspace | |
#governor="ondemand" | |
# 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= | |
### the next section is independend unlike the first one | |
# valid multicore scheduler: | |
# 0, 1, 2 | |
#mc_scheduler= | |
# hyper-Threading scheduler | |
#smp_scheduler= | |
# intel only: set trade-off value for processes; for more information see: 'man cpupower-set' | |
#perf_bias= | |
# vim:set ts=2 sw=2 ft=sh et: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /bin/sh | |
if [[ ! -f /etc/conf.d/cpupower ]]; then | |
echo "/etc/conf.d/cpupower doesn\'t exist" | |
exit 1 | |
fi | |
. /etc/conf.d/cpupower | |
### sections independend; params='' for additional clear | |
# be loud; usually wanted | |
params='' | |
if [[ "$governor" ]]; then | |
grep -qw "$governor" /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_governors || modprobe -q cpufreq_${governor} | |
if [[ "$governor" != "userspace" ]] && [[ "$freq" ]]; then | |
echo "Error: freq needs userspace governor" | |
exit 1 | |
fi | |
params="-g $governor " | |
params+="${min_freq:+-d $min_freq} " | |
params+="${max_freq:+-u $max_freq} " | |
params+="${freq:+-f $freq} " | |
cpupower -c all frequency-set $params > /dev/null | |
else | |
echo "Debug: Governor isn\'t set." | |
fi | |
# be quiet. It is a feature of some CPUs. | |
params='' | |
if [[ "$mc_scheduler" ]]; then | |
params="-m $mc_scheduler" | |
cpupower -c all set $params | |
fi | |
# be quiet. It is a feature of some special CPUs. | |
params='' | |
if [[ "$smt_scheduler" ]]; then | |
params="-s $smt_scheduler" | |
cpupower -c all set $params | |
fi | |
# be quiet. It is a feature of some Intel CPUs. | |
params='' | |
if [[ "$perf_bias" ]]; then | |
params="-b $perf_bias" | |
cpupower -c all set $params | |
fi | |
exit 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment