linux高性能測試之CPU模式批量由cpupower轉(zhuǎn)performance問題
linux CPU模式批量由cpupower轉(zhuǎn)performance
CPU動(dòng)態(tài)節(jié)能技術(shù)用于降低服務(wù)器功耗,通過選擇系統(tǒng)空閑狀態(tài)不同的電源管理策略,可以實(shí)現(xiàn)不同程度降低服務(wù)器功耗,更低的功耗策略意味著CPU喚醒更慢對性能影響更大。
對于對時(shí)延和性能要求高的應(yīng)用,建議關(guān)閉CPU的動(dòng)態(tài)調(diào)節(jié)功能,禁止 CPU休眠,并把CPU頻率固定到最高。
通常建議在服務(wù)器BIOS中修改電源管理為Performance,如果發(fā)現(xiàn)CPU模式為conservative或者powersave,可以使用cpupower設(shè)置CPU Performance模式。
cpufreq是一個(gè)動(dòng)態(tài)調(diào)整cpu頻率的模塊,系統(tǒng)啟動(dòng)時(shí)生成一個(gè)文件夾/sys/devices/system/cpu/cpu0/cpufreq/,里面有幾個(gè)文件,其中scaling_min_freq代表最低頻率,scaling_max_freq代表最高頻率,scalin_governor代表cpu頻率調(diào)整模式,用它來控制CPU頻率。
cpu的個(gè)數(shù)可查詢路徑為:/sys/devices/system/cpu/。
wm@wm-MS-7A70:~/LMHWork$ cd /sys/devices/system/cpu wm@wm-MS-7A70:/sys/devices/system/cpu$ ls cpu0 ?cpu2 ?cpu4 ?cpu6 ?cpufreq ?hotplug ? ? ? isolated ? ?microcode ?offline ?possible ?present ?uevent cpu1 ?cpu3 ?cpu5 ?cpu7 ?cpuidle ?intel_pstate ?kernel_max ?modalias ? online ? power ? ? smt ? ? ?vulnerabilities wm@wm-MS-7A70:/sys/devices/system/cpu$?
打開cpu0/cpufreq/scaling_governor默認(rèn)是powersave模式,可以批量更改為performance模式,這樣當(dāng)測試時(shí)候,cpu都能保持高效運(yùn)行,使測試更加精確。
批量修改方法:
建立一個(gè)cpu_set_performance.sh文件,里面代碼如下, 如果你的cpu是8個(gè),就在for循環(huán)里面寫7,否則修改為你的cpu個(gè)數(shù)。
for i in `seq 0 7` do ? echo performance > /sys/devices/system/cpu/cpu${i}/cpufreq/scaling_governor done
cpu模式說明
performance
: 顧名思義只注重效率,將CPU頻率固定工作在其支持的最高運(yùn)行頻率上,而不動(dòng)態(tài)調(diào)節(jié)。Userspace
:最早的cpufreq子系統(tǒng)通過userspace governor為用戶提供了這種靈活性。系統(tǒng)將變頻策略的決策權(quán)交給了用戶態(tài)應(yīng)用程序,并提供了相應(yīng)的接口供用戶態(tài)應(yīng)用程序調(diào)節(jié)CPU 運(yùn)行頻率使用。也就是長期以來都在用的那個(gè)模式??梢酝ㄟ^手動(dòng)編輯配置文件進(jìn)行配置powersave
: 將CPU頻率設(shè)置為最低的所謂“省電”模式,CPU會(huì)固定工作在其支持的最低運(yùn)行頻率上。因此這兩種governors 都屬于靜態(tài)governor,即在使用它們時(shí)CPU 的運(yùn)行頻率不會(huì)根據(jù)系統(tǒng)運(yùn)行時(shí)負(fù)載的變化動(dòng)態(tài)作出調(diào)整。這兩種governors 對應(yīng)的是兩種極端的應(yīng)用場景,使用performance governor 是對系統(tǒng)高性能的最大追求,而使用powersave governor 則是對系統(tǒng)低功耗的最大追求。ondemand
: 按需快速動(dòng)態(tài)調(diào)整CPU頻率, 一有cpu計(jì)算量的任務(wù),就會(huì)立即達(dá)到最大頻率運(yùn)行,等執(zhí)行完畢就立即回到最低頻率;ondemand:userspace是內(nèi)核態(tài)的檢測,用戶態(tài)調(diào)整,效率低。而ondemand正是人們長期以來希望看到的一個(gè)完全在內(nèi)核態(tài)下工作并且能夠以更加細(xì)粒度的時(shí)間間隔對系統(tǒng)負(fù)載情況進(jìn)行采樣分析的governor。 在 ondemand governor 監(jiān)測到系統(tǒng)負(fù)載超過 up_threshold 所設(shè)定的百分比時(shí),說明用戶當(dāng)前需要 CPU 提供更強(qiáng)大的處理能力,因此 ondemand governor 會(huì)將CPU設(shè)置在最高頻率上運(yùn)行。但是當(dāng) ondemand governor 監(jiān)測到系統(tǒng)負(fù)載下降,可以降低 CPU 的運(yùn)行頻率時(shí),到底應(yīng)該降低到哪個(gè)頻率呢? ondemand governor 的最初實(shí)現(xiàn)是在可選的頻率范圍內(nèi)調(diào)低至下一個(gè)可用頻率,例如 CPU 支持三個(gè)可選頻率,分別為 1.67GHz、1.33GHz 和 1GHz ,如果 CPU 運(yùn)行在 1.67GHz 時(shí) ondemand governor 發(fā)現(xiàn)可以降低運(yùn)行頻率,那么 1.33GHz 將被選作降頻的目標(biāo)頻率。conservative
: 與ondemand不同,平滑地調(diào)整CPU頻率,頻率的升降是漸變式的,會(huì)自動(dòng)在頻率上下限調(diào)整,和ondemand的區(qū)別在于它會(huì)按需分配頻率,而不是一味追求最高頻率;
ubuntu18.04 CPU更改為performance模式之后,重啟自動(dòng)恢復(fù)為powersave模式的解決
performance重啟自動(dòng)恢復(fù)為powersave模式的解決
1.安裝sysfsutils
?sudo apt-get install sysfsutils
2.查看當(dāng)前調(diào)節(jié)器
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
3.關(guān)閉ondemand服務(wù)
systemctl stop ondemand systemctl disable ondemand
4.然后更改sysfutils啟動(dòng)文件/etc/sysfs.conf
vim /etc/sysfs.conf
有多少個(gè)CPU,就添加對應(yīng)數(shù)量的代碼,并更改*為對應(yīng)的CPU編號
devices/system/cpu/cpu*/cpufreq/scaling_governor = performance
例如,有4個(gè)CPU,在sysfs.conf文件中添加如下代碼:
devices/system/cpu/cpu0/cpufreq/scaling_governor = performance devices/system/cpu/cpu1/cpufreq/scaling_governor = performance devices/system/cpu/cpu2/cpufreq/scaling_governor = performance devices/system/cpu/cpu3/cpufreq/scaling_governor = performance
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
linux服務(wù)器上創(chuàng)建python虛擬環(huán)境過程
在Linux服務(wù)器上創(chuàng)建Python虛擬環(huán)境時(shí),由于需要更高版本的Python(如3.10.0),首先確保openssl版本符合要求,如果openssl版本不足,需要升級,升級openssl后,設(shè)置環(huán)境變量,并在編譯安裝Python時(shí)指定openssl版本,最后,創(chuàng)建并激活Python虛擬環(huán)境2025-03-03Linux系統(tǒng)下 centos7下搭建ElasticSearch中間件及常用接口演示
ElasticSearch是一個(gè)基于Lucene的搜索服務(wù)器。它提供了一個(gè)分布式多用戶能力的全文搜索引擎,基于RESTful web接口。這篇文章主要介紹了Linux系統(tǒng)下 centos7下搭建ElasticSearch中間件及常用接口演示 ,需要的朋友可以參考下2019-07-07Linux centos如何讓普通用戶獲取root權(quán)限
這篇文章主要介紹了Linux centos如何讓普通用戶獲取root權(quán)限問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05centos7系統(tǒng)nginx服務(wù)器下phalcon環(huán)境搭建方法詳解
這篇文章主要介紹了centos7系統(tǒng)nginx服務(wù)器下phalcon環(huán)境搭建方法,結(jié)合具體實(shí)例形式詳細(xì)分析了centos7的nginx服務(wù)器搭建phalcon的具體操作步驟與相關(guān)設(shè)置技巧,需要的朋友可以參考下2019-09-09Ubuntu下如何創(chuàng)建XFS文件系統(tǒng)的LVM詳解
這篇文章主要給大家介紹了關(guān)于在Ubuntu下如何創(chuàng)建XFS文件系統(tǒng)的LVM的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-10-10.httacces文件的密碼保護(hù)和防止盜鏈的實(shí)現(xiàn)方法
盡管有各種各樣的.htaccess用法,但至今最流行的也可能是最有用的做法是將其用于網(wǎng)站目錄可靠的密碼保護(hù)。2008-06-06