HOWTO: CPU Frequency Scaling w/ Kernel Module

HOWTO: CPU Frequency Scaling w/ Kernel Module


I thought I would write a little howto on how to get cpu frequency scaling to work directly with the kernel modules. These modules are generally more efficient for performance computing and battery life.

Prerequisites
kernel >= 2.6.9

Step 1: Enable BIOS Support
Enter your BIOS at boot and make sure Cool'n'Quiet (AMD) or SpeedStep (Intel) is enable for you CPU. Some BIOS may not have option at all. If that is the case it is probably enabled by default. Other BIOS may have the option but it is listed as another name altogether. If that is the case check your BIOS manual for more info.

Step 2: Remove Userspace Scaling Software
powernowd
Code:
sudo apt-get remove powernowd
cpudyn
Code:
sudo apt-get remove cpudyn
Step 3: Install CPU Module
Identify your cpu type by runnig the command
Code:
cat /proc/cpuinfo
You can also Check the following links
AMD CPU Chart - http://www.tomshardware.com/2005/11/...05/page20.html
Intel CPU Chart - http://www.tomshardware.com/2005/11/...05/page21.html

AMD Sempron/Athlon/MP ( K7 )
Socket Types: A, Slot A
Code:
sudo modprobe powernow-k7
AMD Duron/Sempron/Athlon/Opteron 64 ( K8 )
Socket Types: 754, 939, 940, S1 ( 638 ), AM2 ( 940 ), F ( 1207 )
Code:
sudo modprobe powernow-k8
Intel Core Duo
Code:
sudo modprobe speedstep-centrino
Intel Pentium M
Code:
sudo modprobe speedstep-centrino
Others (Unknown)
I'm not entirely sure which cpus are supported using this module. If your cpu doesn't work with one of the above methods try this one.
Code:
sudo modprobe acpi-cpufreq
Step 4: Scaling Modules
Code:
sudo modprobe cpufreq_conservative
sudo modprobe cpufreq_ondemand
sudo modprobe cpufreq_powersave
sudo modprobe cpufreq_stats
sudo modprobe cpufreq_userspace
Step 5: Testing/Configuration
Show Available Governors
Code:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
You should see output similar to
Code:
powersave conservative ondemand performance
conservative
Description: CPU frequency is scaled based on load in incremental steps up and down.
Code:
sudo -s
echo conservative > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Advanced Configuration Options
Code:
cd /sys/devices/system/cpu/cpu0/cpufreq/conservative
ondemand
Description: CPU frequency is scaled based on load.
Code:
sudo -s
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Advanced Configuration Options
Code:
cd /sys/devices/system/cpu/cpu0/cpufreq/ondemand
performance
Description: CPU only runs at max frequency regardless of load.
Configuration Dir: N/A
Code:
sudo -s
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
powersave
Description: CPU only runs at min frequency regardless of load.
Configuration Dir: N/A
Code:
sudo -s
echo powersave > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Step 6: Load Modules at Boot
Add the following lines to the end of /etc/modules
Code:
cpufreq_conservative
cpufreq_ondemand
cpufreq_powersave
cpufreq_stats
cpufreq_userspace
[Module from Step 3]
Step 7: Configure Modules at Boot
This step needs to be done in order for the modules to retain your settings.
Make sure you have sysfsutils installed
Code:
sudo apt-get install sysfsutils
Then add the following lines to /etc/sysfs.conf
Code:
devices/system/cpu/cpu0/cpufreq/scaling_governor=ondemand
Where ondemand can be changed to another governor type (i.e. conservative, powersave, etc.). You can also add other configuration options that are specific to the governor selected.

Useful Links
http://ubuntu.wordpress.com/2005/11/...uency-scaling/
http://martin.ankerl.org/category/linux/
http://gentoo-wiki.com/HOWTO_Undervolt_a_Pentium_M_CPU
http://wejp.k.vu/projects/howto_cnq_athlon_64_x2/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值