CPU频率和核心
設置CPU的核心數
在/sys/devices/system/cpu目錄下可以看到你的CPU有幾個核心,如果是四核,就是cpu0,cpu1,cpu2,cpu3 4個文件夾。cpu0 常開。進一個其他文件夾,比如cpu1,里面有個online文件
用cat命令查看該文件的內容:
MTK8167:/ # cat /sys/devices/system/cpu/cpu1/online 0這個文件只有一個數字,0或1。0表示該核心是offline狀態的,1表示該核心是online狀態的。所以,如果你想關閉這個核心,就把online文件的內容改為“0”;如果想打開該核心,就把文件內容改為“1”。
echo "0" > /sys/devices/system/cpu/cpu0/online # 關閉該CPU核心 echo "1" > /sys/devices/system/cpu/cpu0/online # 打開該CPU核心設置CPU的頻率
查看CPU支持控制模式
MTK8167:/ # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors interactive ondemand userspace powersave performance當前的模式
MTK8167:/ # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive關于這些模式,具體解釋如下:
ondemand:系統默認的超頻模式,按需調節,內核提供的功能,不是很強大,但有效實現了動態頻率調節,平時以低速方式運行,當系統負載提高時候自動提高頻率。以這種模式運行不會因為降頻造成性能降低,同時也能節約電能和降低溫度。一般官方內核,還有CM7的默認的方式都是ondemand。流暢度:一般,流暢
interactive:交互模式,直接上最高頻率,然后看CPU負荷慢慢降低,比較耗電。流暢度:最高,極流暢 Interactive 是以 CPU 排程數量而調整頻率,從而實現省電。InteractiveX 是以 CPU 負載來調整 CPU 頻率,不會過度把頻率調低。所以比 Interactive 反應好些,但是省電的效果一般
conservative:保守模式,類似于ondemand,但調整相對較緩,想省電就用他吧。Google官方內核,kang內核默認模式。流暢度:高,流暢 smartass:聰明模式,是I和C模式的升級,該模式在比i模式不差的響應的前提下會做到了更加省電流暢度:最高,流暢
performance:性能模式!只有最高頻率,從來不考慮消耗的電量,性能沒得說,但是耗電量.......流暢度:還需要說么?還有比這種模式更流暢的嗎?
powersave 省電模式,通常以最低頻率運行,打不死我也不用。流暢度:極低?
userspace:用戶自定義模式,系統將變頻策略的決策權交給了用戶態應用程序,并提供了相應的接口供用戶態應用程序調節CPU 運行頻率使用。也就是長期以來都在用的那個模式。可以通過手動編輯配置文件進行配置流暢度:根據設置而定
Hotplug:類似于ondemand, 但是cpu會在關屏下嘗試關掉一個cpu,并且帶有deep sleep,比較省電。流暢度:一般,流暢
在這里,我們將模式調整為performance。
echo "performance" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor修改頻率
查看scaling_available_frequencies文件,看CPU支持哪些頻率。
MTK8167:/ # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 598000 747500 1040000 1196000 1300000 1500000以KHz為單位的.
MTK8167:/ # cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq 1499998將cpu0設置為1.3GHz,先修改模式位用戶,再1300000 寫入scaling_setspeed即可。
echo "userspace" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governorcat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor userspaceecho '1300000'>/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed MTK8167:/ # cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq 1300000通過變化online的核心數和調整CPU頻率可以做到功耗和性能的特殊要求。
總結
設備的不同的狀態下,CPU的頻率都是不同的,我們在有些測試的時候經常需要把CPU頻率定死成固定頻率,在固定頻率的時候去測試。這個叫做定頻測試。
推薦專輯:
===========
??
PS:想加入技術群的同學,加了我好友后,就給我發「籃球的大肚子」這句話,有可能機器人打瞌睡,可以多發幾次,不要發與技術無關的消息或者推廣。
如果想獲取學習資料,就在公眾號后臺回復「1024」,足夠多的學習資料可以讓你學習。
總結
- 上一篇: android studio运行项目快捷
- 下一篇: 上海富勒wms_国内WMS前三名是哪几家