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