Linux系統下CPU頻率的調整
☆★省電or流暢★ ☆[email protected]:/sys/devices/system/cpu/cpu0/cpufreq # cat scaling_available_governorshotplug conservative ondemand userspace powersave interactive performance
為了可以對幾種常見的CPU頻率調節模式有個基本的理解,下面簡單的總結了一下,根據不同方式的特點,自己來在效能與省電這兩對矛盾之間做個取捨,找出適合自己的平衡點吧!1、ondemand:系統預設的超頻模式,按需調節,核心提供的功能,不是很強大,但有效實現了動態頻率調節,平時以低速方式執行,當系統負載提高時候自動提高頻率。以這種模式執行不會因為降頻造成效能降低,同時也能節約電能和降低溫度。一般官方核心,還有
前言
現在的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.kocpufreq-nforce2.ko p4-clockmod.ko speedstep-centrino.kogx-suspmod.ko powernow-k6.ko speedstep-ich.kolonghaul.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。
提示: 可以用cat看一下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注意:如果使用的CPU比較老,使用speedstep-smi做為動態頻率的模組,則不能使用ondemand等實時調頻軟體,原因是其調頻延時較長。當然也可以用GNOME的工具來調節,請參見後面的介紹。
使用軟體管理CPU頻率核心模組的CPU頻率管理功能已經很強大了,當然你也可以應用軟體來管理,可選的軟體有:
- cpudynd
- cpufreqd
- cpufrequtils
- powernowd
- powersaved
- speedfreqd
這些源裡是有的,不過我認為都不怎麼好用,感覺Fedora的cpuspeed比較好,不過源裡沒有。
使用gnome的CPU頻率範圍監視器在gnome的面板上按右鍵,選擇“新增到面板”,加入“CPU頻率範圍監視器”。 在那個圖示上按右鍵,“首選項”,可以選擇顯示和調速的方式。 普通使用者預設不能調節CPU頻率,要解決這個問題,請參閱為普通使用者提供CPU調頻許可權。
設定開機自動載入以上設定Debian 4.01. 編輯 /etc/modules ,加入剛才modprobe掛載的核心模組
cpufreq-userspacecpufreq-ondemandcpufreq-powersavecpufreq-conservativespeedstep-centrino #請修改為相應的頻率調節模組2. 安裝sysfsutils,
#apt-get install sysfsutils以超級使用者許可權編輯/etc/sysfs.conf,檔案內容:
devices/system/cpu/cpu0/cpufreq/scaling_governor = ondemanddevices/system/cpu/cpu0/cpufreq/scaling_max_freq = 1800000 #請修改為您的CPU的最高頻率如果是雙核CPU,還應加入cpu1的內容,與cpu0完全類似。多執行緒CPU無需進行此項操作。
Archlinux- 在/etc/rc.conf的MODULES變數中加入剛才modeprobe掛載的核心模組
- 可以安裝cpudyn和acpid,並
啟動自動調節,也可以把它們加到rc.conf中,讓其自動啟動。