欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

linux cpu如何開啟性能模式

 更新時間:2023年06月25日 16:58:09   作者:252371713  
這篇文章主要介紹了linux cpu如何開啟性能模式問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

linux cpu開啟性能模式

今天我們的一臺數(shù)據(jù)庫服務(wù)器,業(yè)務(wù)研發(fā)反饋tp999會不時的彪高,我們查詢了各種指標,發(fā)現(xiàn)網(wǎng)絡(luò)重傳比較高,同事cpu的load比較高,但是統(tǒng)一宿主機上其他的docker沒有重傳,因此不是網(wǎng)卡的問題,通過dmesg,發(fā)現(xiàn)有cpu降頻的相關(guān)日志。

發(fā)現(xiàn)是cpu降頻引起的。

查看,系統(tǒng)設(shè)置的是非高性能模式。需要設(shè)置成高性能模式。

相關(guān)日志如下:

perf: interrupt took too long (166702 > 165147), lowering kernel.perf_event_max_sample_rate to 1000

一般服務(wù)器的CPU都支持自動睿頻,而服務(wù)器的CPU一般默認運行于ondemand模式,會有中斷開銷,睿頻的時候提升下降也是有額外的開銷,特別是對于一些低端cpu比如C2350,C2338,N2800這些低價獨服的CPU,影響更大。

模式說明:

  • performance:運行于最大頻率
  • powersave:運行于最小頻率
  • userspace:運行于用戶指定的頻率
  • ondemand:按需快速動態(tài)調(diào)整CPU頻率, 一有cpu計算量的任務(wù),就會立即達到最大頻率運行,空閑時間增加就降低頻率
  • conservative:按需快速動態(tài)調(diào)整CPU頻率, 比 ondemand 的調(diào)整更保守
  • schedutil:基于調(diào)度程序調(diào)整 CPU 頻率

Centos7 設(shè)置方法

# yum install -y cpupowerutils
# cpupower frequency-info
# cat /proc/cpuinfo
# cpupower frequency-set -g performance

查看方式,可以比較前后的設(shè)置

# cat /proc/cpuinfo | grep MHz

Debian設(shè)置方法

安裝工具

apt install cpufrequtils

編輯 /etc/default/cpufrequtils 如不存在則創(chuàng)建,添加條目

GOVERNOR=”performance”

重啟生效

systemctl restart cpufrequtils

 linux系統(tǒng)調(diào)優(yōu)-CPU問題

Linux下系統(tǒng)調(diào)優(yōu),內(nèi)容總結(jié)主要來自于工作經(jīng)驗和參考部分網(wǎng)絡(luò)博客及紅帽官方博客的結(jié)合,主要選取了一些個人理解的以及有過實踐的內(nèi)容,還有一些覺得比較有價值但是沒實踐過的方向。

之所以要總結(jié)系統(tǒng)調(diào)優(yōu),是因為我們服務(wù)器廠商在硬件配置一定,BIOS選項配置一定的情況下, 再想讓相關(guān)性能獲得提升就只能在系統(tǒng)下進行設(shè)置,因此也是有必要有一個完整的了解。

因為是比較完整的,可能羅列出了許多方向,對于這些方向,怎么樣調(diào)能帶來怎么樣的效果,肯定是需要實踐后才能確認的,在遇到具體問題和需求時可以從這些方向上下手,分成五個小部分,分別是CPU、內(nèi)存、存儲、網(wǎng)絡(luò)、整體工具tuned-adm

一、Cpu

1.CPU工作模式

CPU的性能設(shè)置和查詢通過cpupower工具來完成,一共有下圖五種模式

需要CPU時時刻刻工作在最高頻率的話設(shè)置為performance就可以,如下圖是查詢當前頻率信息和設(shè)置性能模式的方法

2.談?wù)劚O(jiān)控

簡單的監(jiān)控我推薦使用turbostat工具查看CPU各個核心的實時工作頻率,如果用lscpu命令或者cat /proc/cupinfo查看到的CPU頻率,可能不是準確的,結(jié)合實踐以及查閱了一些資料基本可以確認turbostat的計算方式是更準確的。

本博客之前有一篇放了一個CPU頻率監(jiān)測腳本,那個腳本內(nèi)是監(jiān)測/proc/cpuinfo的,目前來看其實有點缺陷,但是因為這種不準確往往出現(xiàn)在CPU頻率是最高的時候,所以用來監(jiān)測頻率降低這些異常還是沒什么問題的。

如下圖是turbostat直接敲下的例子,

還可以用sysstat工具里的mpstat命令監(jiān)控各個核心的使用率,如下圖是查詢當前非idle的核心,這種監(jiān)控方式用來幫助我們定位一些CPU性能為瓶頸時的系統(tǒng)性能問題,可以找到異常核心

3.優(yōu)化進程

上面說的是整個系統(tǒng)的設(shè)置,具體到我們需要對某個進程來多分配些CPU資源,或者避免進程之間使用相同的CPU資源,影響了進程的性能,可以使用taskset工具,taskset –c 0,1 ./xxx.sh就是把0,1核心分配給了這個腳本。

這個工具相對簡易一點,更推薦使用的是numactl工具。

這個工具管理的更為全面,通過numactl –hardware可以查看如下圖,每個node節(jié)點分配到的內(nèi)存與CPU核心

通過下圖的方法可以知道某個設(shè)備所在的numa節(jié)點,并根據(jù)numa節(jié)點知道設(shè)備對應(yīng)所在的CPU核心,如果是類似網(wǎng)卡設(shè)備調(diào)優(yōu),那么網(wǎng)卡測試進程就綁在網(wǎng)卡所在的CPU核心上,硬盤測試同理

當然如果資源比較充裕,不用管具體哪些核心,把某個numa節(jié)點下的cpu核心全綁定在某進程上也可以,通過numactl –cpubind=0 –membind=0 ./xxx.sh就可以把nudo0的資源分配給這個腳本,設(shè)置之后,也可以使用numastat命令查看各個節(jié)點的使用狀態(tài)

各個具體參數(shù)可以去網(wǎng)上找博客查看,我了解到的就是othernode如果過高,說明你的分配或者是系統(tǒng)自動分配的不太合理,需要重新分配相關(guān)進程資源。

除此之外nuamctl也可以和taskset一樣自由分配CPU節(jié)點,通過numactl –C 0-15 ./xx.sh即可將腳本綁定到0-15核心上。

要注意的是,我們在綁核的時候,無論是taskset還是nuamctl,都盡量不要跨numa,比如0-15要確保是一個numa節(jié)點上的,是否是一個numa節(jié)點可以通過numactl –hardware的結(jié)果里看到

4.CPU中斷irqbalance

如果CPU中斷沒有很好的平衡,容易出現(xiàn)性能瓶頸,正常情況下需要啟用

service irqbalacne start

在之前的工作中有印象給網(wǎng)卡設(shè)置過中斷來提升網(wǎng)卡性能,下面的第一條命令可以列出所有中斷號,其中第一列是中斷號,第七列可以看是什么設(shè)備。

第二條命令可以查看該中斷號對應(yīng)的CPU核心,通過echo XX具體的核心數(shù)可以更改具體的核心,通常需要該核心同樣是網(wǎng)口所在numa節(jié)點的核心,性能會比較好

cat /proc/interrupts
cat /proc/irq/55/smp_affinity_list

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Linux如何處理文件已刪除但空間不釋放的問題

    Linux如何處理文件已刪除但空間不釋放的問題

    這篇文章主要介紹了Linux如何處理文件已刪除但空間不釋放的問題,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 在CentOS 7.2上安裝SuPHP的詳細方法

    在CentOS 7.2上安裝SuPHP的詳細方法

    這篇文章主要介紹了在CentOS 7.2上安裝SuPHP的詳細方法,本教程介紹從源代碼安裝CentOS 7.2上的SuPHP,因為沒有可用于CentOS 7.2的SuPHP軟件包,需要的朋友可以參考下
    2020-02-02
  • Centos8搭建配置nis域服務(wù)詳細步驟

    Centos8搭建配置nis域服務(wù)詳細步驟

    大家好,本篇文章主要講的是Centos8搭建配置nis域服務(wù)詳細步驟,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Linux中的iptables防火墻

    Linux中的iptables防火墻

    iptables防火墻由netfilter和iptables組成,其中netfilter是內(nèi)核態(tài)的數(shù)據(jù)包過濾系統(tǒng),iptables是用戶態(tài)的防火墻管理程序,iptables包含raw、mangle、nat和filter四個規(guī)則表,以及INPUT、OUTPUT、FORWARD、PREROUTING和POSTROUTING五個規(guī)則鏈
    2024-09-09
  • 詳解如何在阿里云服務(wù)器部署程序并用域名直接訪問

    詳解如何在阿里云服務(wù)器部署程序并用域名直接訪問

    這篇文章主要介紹了詳解如何在阿里云服務(wù)器部署程序并用域名直接訪問,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Linux解決RocketMQ中NameServer啟動問題的方法詳解

    Linux解決RocketMQ中NameServer啟動問題的方法詳解

    這篇文章主要為大家詳細介紹了Linux解決RocketMQ中NameServer啟動問題的方法,文中通過圖片和示例代碼進行了詳細講解,需要的小伙伴可以參考下
    2023-08-08
  • linux守護進程服務(wù)daemon、nohup、systemd的區(qū)別

    linux守護進程服務(wù)daemon、nohup、systemd的區(qū)別

    守護進程(Daemon)是指在后臺運行的進程,不與用戶直接交互,且在系統(tǒng)啟動時自動運行,nohup是一個命令行實用程序,用于在用戶注銷后繼續(xù)運行命令,?Systemd?用于管理和啟動服務(wù),支持復(fù)雜的依賴管理和自動啟動
    2025-03-03
  • Linux CentOS 7.0中java安裝與配置環(huán)境變量的步驟詳解

    Linux CentOS 7.0中java安裝與配置環(huán)境變量的步驟詳解

    這篇文章主要給大家分享介紹了關(guān)于Linux CentOS 7.0中java安裝與配置環(huán)境變量的相關(guān)資料,文中通過示例代碼將安裝與配置的過程介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • linux下獲取文件的創(chuàng)建時間與實戰(zhàn)教程

    linux下獲取文件的創(chuàng)建時間與實戰(zhàn)教程

    這篇文章主要給大家介紹了關(guān)于linux下獲取文件的創(chuàng)建時間與實戰(zhàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用linux系統(tǒng)具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 騰訊云服務(wù)器Centos掛載數(shù)據(jù)盤的方法

    騰訊云服務(wù)器Centos掛載數(shù)據(jù)盤的方法

    這篇文章主要介紹了騰訊云服務(wù)器Centos掛載數(shù)據(jù)盤的方法,參考了網(wǎng)上一些資料,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10

最新評論