在Linux中,內核的開發者定義了一套框架模型來完成CPU頻率動態調整這一目的,它就是CPU Freq系統。如下為CPU的幾種模式(governor參數):
ondemand:系統默認的超頻模式,按需調節,內核提供的功能,不是很強大,但有效實現了動態頻率調節,平時以低速方式運行,當系統負載提高時候自動提高頻率。以這種模式運行不會因為降頻造成性能降低,同時也能節約電能和降低溫度。一般官方內核默認的方式都是ondemand。 interactive:交互模式,直接上最高頻率,然后看CPU負荷慢慢降低,比較耗電。Interactive 是以 CPU 排程數量而調整頻率,從而實現省電。InteractiveX 是以 CPU 負載來調整 CPU 頻率,不會過度把頻率調低。所以比 Interactive 反應好些,但是省電的效果一般。 conservative:保守模式,類似於ondemand,但調整相對較緩,想省電就用他吧。Google官方內核,kang內核默認模式。 smartass:聰明模式,是I和C模式的升級,該模式在比interactive 模式不差的響應的前提下會做到了更加省電。 performance:性能模式!只有最高頻率,從來不考慮消耗的電量,性能沒得說,但是耗電量。 powersave 省電模式,通常以最低頻率運行。 userspace:用戶自定義模式,系統將變頻策略的決策權交給了用戶態應用程序,並提供了相應的接口供用戶態應用程序調節CPU 運行頻率使用。也就是長期以來都在用的那個模式。可以通過手動編輯配置文件進行配置 Hotplug:類似於ondemand, 但是cpu會在關屏下嘗試關掉一個cpu,並且帶有deep sleep,比較省電。
在進行CPU頻率優化之前,我們首先需要使用命令:
lsmod | grep "acpi_cpufreq"
查看內核是否加載了acpi_cpufreq模塊,如果加載了此模塊,按照一般情況發行版都會將CPU默認設置為 “ondemand”模式。
之后可以通過命令:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
來進一步確認CPU節能模式,但此時用戶無法進行修改,需要進行修改必須使用命令安裝cpufreq管理軟件,在Debian Gnu/Linux下使用如下命令:
apt-get install cpufrequtils
之后我們就可以通過修改相應系統所在配置文件,Debian Gnu/Linux 8
/etc/init.d/cpufrequtils
修改Debian Gnu/Linux 8配置文件中:
GOVERNOR="ondemand"
為:
GOVERNOR="performance"
編輯文件,如果不存在就創建一個 vi /etc/default/cpufrequtils 添加如下規則 GOVERNOR="performance" 重啟軟件使其生效 systemctl restart cpufrequtils
執行命令:/etc/init.d/cpufrequtils restart即可重啟相關cpufreq管理軟件。
使用cpufrequtils查看調整cpu頻率及模式 debian安裝: # apt install cpufrequtils 使用: cpufreq-info 查看當前cpu狀態 參數: 參數 值 說明 -c CPU序號 查看所指定cpu狀態 -f 查看cpu當前頻率 -l 查看cpu最高頻率和最低頻率 -p 查看當前cpu模式 -g 查看當前支持的CPU運行模式 -m 帶單位的輸出 cpufreq-set 設置cpu模式及頻率 參數 值 說明 -c CPU序號 設置修改指定cpu -d 頻率 設置cpu最小運行頻率 -u 頻率 設置cpu最大運行頻率 -g 模式 設置cpu模式 頻率支持單位: Hz kHz MHz GHz 常用CPU模式: 模式 說明 powersave 以最低頻率運行cpu ondemand 程序運行時切換cpu頻率到最高,不使用時降低到最低 performance 最高性能模式,以最高頻率運行cpu 設置后會馬上生效 重啟后會失效 可以自己編輯/etc下的開機啟動腳本設置開機自動調整CPU
————————————————
從 kernel 3.9 開始,名為 pstate 的新的功率驅動程序將會在以下的驅動程序之前自動為現代的 Intel CPU 啟用。該驅動會優先於其他的驅動程序,因為它是內置驅動,而不是作為一個模塊來加載。
該驅動自動作用於 Sandy Bridge 和 Ivy Bridge 這兩個類型的 CPU,在該模式下CPU只能被設置成performance或者powersave模式。如果您在使用這個驅動的時候遇到問題,建議您在 Grub 的內核參數中對其禁用(即修改 /etc/default/grub 文件,在 GRUB_CMDLINE_LINUX_DEFAULT= 后添加 intel_pstate=disable)
————————————————
原文鏈接:https://www.cnblogs.com/276815076/p/5434295.html