Linux系統下CPU頻率的調整

來源:互聯網
上載者:User

☆★省電or流暢
★ ☆
root@android:/sys/devices/system/cpu/cpu0/cpufreq # cat scaling_available_governors
hotplug conservative ondemand userspace powersave interactive performance


為了可以對幾種常見的CPU頻率調節模式有個基本的理解,下面簡單的總結了一下,根據不同方式的特點,自己來在效能與省電這兩對矛盾之間做個取捨,找出適合自己的平衡點吧!

1、ondemand:系統預設的超頻模式,按需調節,核心提供的功能,不是很強大,但有效實現了動態頻率調節,平時以低速方式運行,當系統負載提高時候自動提高頻率。以這種模式運行不會因為降頻造成效能降低,同時也能節約電能和降低溫度。一般官方核心,還有CM7的預設的方式都是ondemand。
流暢度: 一般,流暢

2、interactive:互動模式,直接上最高頻率,然後看CPU負荷慢慢降低,比較耗電。  
流暢度: 最高,極流暢
Interactive 是以 CPU 排程數量而調整頻率,從而實現省電。

InteractiveX 是以 CPU 負載來調整 CPU 頻率,不會過度把頻率調低。所以比 Interactive 反應好些,但是省電的效果一般


3、conservative:保守模式,類似於ondemand,但調整相對較緩,想省電就用他吧。Google官方核心,kang核心預設模式。

流暢度: 高,流暢

4、smartass:聰明模式,是I和C模式的升級,該模式在比i模式不差的響應的前提下會做到了更加省電
流暢度: 最高,流暢

5、performance:效能模式!只有最高頻率,從來不考慮消耗的電量,效能沒得說,但是耗電量.......
流暢度:還需要說嗎?還有比這種模式更流暢的嗎?

6、powersave 省電模式,通常以最低頻率運行,打不死我也不用。
流暢度: 極低

7、userspace:使用者自訂模式,系統將變頻策略的決策權交給了使用者態應用程式,並提供了相應的介面供使用者態應用程式調節CPU 運行頻率使用。也就是長期以來都在用的那個模式。可以通過手動編輯設定檔進行配置
流暢度:根據設定而定

8、Hotplug:類似於ondemand, 但是cpu會在關屏下嘗試關掉一個cpu,並且帶有deep sleep,比較省電。
流暢度:一般,流暢

PS:設定裡(包括setcpu)的CPU頻率調節模式都有哪些,根據系統所用核心而定,上面所述的方式不一定都有!

 

前言

現在的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。

提示:
可以用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頻率管理功能已經很強大了,當然你也可以應用軟體來管理,可選的軟體有:

  1. cpudynd
  2. cpufreqd
  3. cpufrequtils
  4. powernowd
  5. powersaved
  6. 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無需進行此項操作。

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中,讓其自動啟動。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.