Enabling power management on Debian
Debian 5 supports CPU power management, but it is not installed by default, at least when using the most basic install (for example, for use as an
NFS server).
Installation of CPU Power Management Components
apt-get install cpufrequtils sysfsutils
Configuration of CPU Power Management Policy
cat /proc/cpuinfo | grep "model name"
- Enable the correct driver for the CPU type using modprobe (see table below), for example
modprobe p4_clockmod
- Select the desired power saving mode (the 'CPU Policy Governor', see table below), for example
modprobe cpufreq_conservative
- Determine the list of CPUs present (for example cpu0 and cpu1 might be reported),
dir /sys/devices/system/cpu
- Apply the policy to the CPU(s). Note that this must be applied to each cpu reported above,
echo conservative | tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo conservative | tee /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
- Confirm the configuration:
cpufreq-info
Permanent Configuration
- Apply the driver and power save mode to /etc/modules (see tables below for parameters),
echo p4_clockmod | tee -a /etc/modules
echo cpufreq_conservative | tee -a /etc/modules
- Enable the policy by editing /etc/sysfs.conf using nano. Add a line for each cpu reported using the desired policy per table above,
devices/system/cpu/cpu0/cpufreq/scaling_governor = conservative
devices/system/cpu/cpu1/cpufreq/scaling_governor = conservative
Power Management Values
CPU Type | Driver Name | modprobe example | /etc/modules example |
AMD K6 | powernow_k6 | modprobe powernow_k6 | echo powernow_k6 | tee -a /etc/modules |
AMD K7 | powernow_k7 | modprobe powernow_k7 | echo powernow_k7 | tee -a /etc/modules |
AMD K8 | powernow_k8 | modprobe powernow_k8 | echo powernow_k8 | tee -a /etc/modules |
Generic Driver | acpi_cpufreq | modprobe acpi_cpufreq | echo acpi_cpufreq | tee -a /etc/modules |
Pentium M | speedstep_centrino | modprobe speedstep_centrino | echo speedstep_centrino | tee -a /etc/modules |
Pentium 4 | p4_clockmod | modprobe p4_clockmod | echo powernow_k6 | tee -a /etc/modules |
Policy Name | Description | modprobe |
cpufreq_performance | Maintains the highest speed - no power saving | modprobe cpufreq_performance |
cpufreq_powersave | Maintains the lowest speed - maximum power saving | modprobe cpufreq_powersave |
cpufreq_ondemand | Dynamic adjustment, tailored for performance | modprobe cpufreq_ondemand |
cpufreq_conservative | Dynamic adjustment, tailored for power saving | modprobe cpufreq_conservative |
Policy Name | Permanent example | /etc/sysfs.conf |
cpufreq_performance | echo cpufreq_performance | tee -a /etc/modules | devices/system/cpu/cpu0/cpufreq/scaling_governor = performance |
cpufreq_powersave | echo cpufreq_powersave | tee -a /etc/modules | devices/system/cpu/cpu0/cpufreq/scaling_governor = powersave |
cpufreq_ondemand | echo cpufreq_ondemand | tee -a /etc/modules | devices/system/cpu/cpu0/cpufreq/scaling_governor = ondemand |
cpufreq_conservative | echo cpufreq_conservative | tee -a /etc/modules | devices/system/cpu/cpu0/cpufreq/scaling_governor = conservative |
See Also
This page was last modified on 29 November 2011, at 13:37
http://blog.peacon.co.uk/wiki/Enabling_power_management_on_Debian