http://www.linux-wiki.cn/index.php/Debian%E4%BD%BF%E7%94%A8CPU%E9%A2%91%E7%8E%87%E8%B0%83%E8%8A%82
前言
現在的CPU耗電很大,按需調節CPU頻率有對節能有重要的意義,目前多數Linux發行版都已經默認啓用了這個功能,但是Debian 4.0和Archlinux還沒有,需要經過簡單的設置才行。,
Debian 4.0和Archlinux的內核已經編譯了調節CPU頻率的模塊,但是默認沒有啓用,所以要做就是啓用相關的模塊,並安裝CPU頻率調節程序(可選)。
選擇並啓用與CPU相對應的內核模塊
爲確保接下來的工作是有意義的,首先確保您的CPU頻率調節功能還沒有啓用~
# cd /sys/devices/system/cpu/cpu0
# ls -l
如果你看到一個名爲cpufreq的文件夾,則說明頻率調節功能已經啓用,您可以直接跳至下一步。
如果沒有看到名爲cpufreq的文件夾,則先看一下可以用的驅動:
# ls /lib/modules/`uname -r`/kernel/arch/*/kernel/cpu/cpufreq
在我的電腦看到的是這樣的,估計你的也差不多。
acpi-cpufreq.ko longrun.ko powernow-k8.ko speedstep-smi.ko
cpufreq-nforce2.ko p4-clockmod.ko speedstep-centrino.ko
gx-suspmod.ko powernow-k6.ko speedstep-ich.ko
longhaul.ko powernow-k7.ko speedstep-lib.ko
這些都是可選的驅動,但是與不同的CPU相匹配。 常用的是:
p4-clockmod.ko | Intel P4的處理器 |
speed-centrino.ko | 迅弛,很多筆記本都是這個 |
powernow-k*.ko | AMD處理器用的 |
acpi-cpufreq.ko | 如果所有的都不行,試試這個,(但2.6.20或以上的內核推薦優先使用該項) |
上表列出的只是常用的,如果不行,試一下其它的。
試的方法是:
1. 加載該內核模塊,如
#modprobe p4-clockmod
又如
#modprobe powernow-k8
注意是模塊名是把上面的文件名去掉.ko。
2. 如果沒有錯誤信息,就對了。如果要確認,看一下
# cd /sys/devices/system/cpu/cpu0
# ls -l
是否有cpufreq。
選擇適當的調節器
調節器即Governor,用它來控制CPU頻率。可選的有
內核模塊 | 調節器名稱 | 功能 |
cpufreq_ondemand | ondemand | 按需調節,內核提供的功能,不是很強大,但有效實現了動態頻率調節 |
cpufreq_powersave | powersave | 省電模式,通常以最低頻率運行, |
cpufreq_userspace | userspace | 用戶模式,一些調頻工具軟件需要在此模式下才能運行 |
cpufreq_conservative | conservative | “保守”模式,類似於ondemand,但調整相對較緩 |
N/A | performance | 不降頻 |
查看當前的調節器:
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
更改使用的調節器,需要加載相應的內核模塊,再更改scaling_governor文件,例如:
# modprobe cpufreq_conservative
# echo conservative > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
當然也可以用GNOME的工具來調節,請參見後面的介紹。
使用軟件管理CPU頻率
內核模塊的CPU頻率管理功能已經很強大了,當然你也可以應用軟件來管理,可選的軟件有:
- cpudynd
- cpufreqd
- cpufrequtils
- powernowd
- powersaved
- speedfreqd
這些源裏是有的,不過我認爲都不怎麼好用,感覺Fedora的cpuspeed比較好,不過源裏沒有。
使用gnome的CPU頻率範圍監視器
在gnome的面板上按右鍵,選擇“添加到面板”,加入“CPU頻率範圍監視器”。 在那個圖標上按右鍵,“首選項”,可以選擇顯示和調速的方式。 普通用戶默認不能調節CPU頻率,要解決這個問題,請參閱爲普通用戶提供CPU調頻權限。
設置開機自動加載以上設置
Debian 4.0
1. 編輯 /etc/modules ,加入剛纔modprobe掛載的內核模塊
cpufreq-userspace
cpufreq-ondemand
cpufreq-powersave
cpufreq-conservative
speedstep-centrino #請修改爲相應的頻率調節模塊
2. 安裝sysfsutils,
#apt-get install sysfsutils
以超級用戶權限編輯/etc/sysfs.conf,文件內容:
devices/system/cpu/cpu0/cpufreq/scaling_governor = ondemand
devices/system/cpu/cpu0/cpufreq/scaling_max_freq = 1800000 #請修改爲您的CPU的最高頻率
如果是雙核CPU,還應加入cpu1的內容,與cpu0完全類似。多線程CPU無需進行此項操作。
3.也可安裝cpufrequitls,修改/etc/default/cpufrequtils
加入
ENABLE="true"
GOVERNOR="ondemand"
MAX_SPEED=1900M
MIN_SPEED=1000M
或者直接修改/etc/init.d/cpufrequtils,內容如上。重新啟動cpufrequtils
/etc/init.d/cpufrequtils restart
Archlinux
- 在/etc/rc.conf的MODULES變量中加入剛纔modeprobe掛載的內核模塊
cpufreq-userspace
cpufreq-ondemand
cpufreq-powersave
cpufreq-conservative
speedstep-centrino #請修改爲相應的頻率調節模塊
- 可以安裝cpudyn和acpid,並
# /etc/rc.d/cpudyn start
# /etc/rc.d/acpid start
啓動自動調節,也可以把它們加到rc.conf中,讓其自動啓動。
附註
2009年02月14日
Debian 計劃高興地宣佈在經歷了 22 個月堅持不懈地開發之後,Debian GNU/Linux 5.0 版(代號Lenny
)正式發佈了。
由於集成 X.Org 7.3,X server 可以對絕大多數硬件進行自動配置。新引入的軟件包可以完全地支持 NTFS 文件系統,並且能夠直接使用絕大多數多媒體按鍵。通過 swfdec 或 Gnash 插件可以支持 Adobe® Flash® 格式的文件。對筆記本計算機的支持得到了全面提升,比如 CPU 頻率自動調節的原生支持。