Linux效能優化實戰(一) 平均負載

2021-10-01 05:08:22 字數 1186 閱讀 2781

一、什麼是平均負載

正確定義:單位時間內,系統中處於可執行狀態和不可中斷狀態的平均程序數。

錯誤定義:單位時間內的cpu使用率。

可執行狀態的程序:正在使用cpu或者正在等待cpu的程序,即ps aux命令下stat處於r狀態的程序

不可中斷狀態的程序:處於核心態關鍵流程中的程序,且不可被打斷,如等待硬體裝置io響應,ps命令d狀態的程序

理想狀態:每個cpu上都有乙個活躍程序,即平均負載數等於cpu數

過載經驗值:平均負載高於cpu數量70%的時候

二、相關命令

cpu核數: lscpu、 grep 'model name' /proc/cpuinfo | wc -l

顯示平均負載:uptime、top,顯示的順序是最近1分鐘、5分鐘、15分鐘,從此可以看出平均負載的趨勢

watch -d uptime: -d會高亮顯示變化的區域

strees: 壓測命令,--cpu cpu壓測選項,-i io壓測選項,-c 程序數壓測選項,--timeout 執行時間

mpstat: 多核cpu效能分析工具,-p all監視所有cpu

pidstat: 程序效能分析工具,-u 顯示cpu利用率

三、平均負載與cpu使用率的區別

cpu使用率:單位時間內cpu繁忙情況的統計

情況1:cpu密集型程序,cpu使用率和平均負載基本一致

情況2:io密集型程序,平均負載公升高,cpu使用率不一定公升高

情況3:大量等待cpu的程序排程,平均負載公升高,cpu使用率也公升高

四、平均負載過高時,如何調優

工具:stress、sysstat,yum即可安裝

1. cpu密集型程序case:

mpstat -p all 5: -p all表示監控所有cpu,5表示每5秒重新整理一次資料,觀察是否有某個cpu的%usr會很高,但iowait應很低

pidstat -u 5 1:每5秒輸出一組資料,觀察哪個程序%cpu很高,但是%wait很低,極有可能就是這個程序導致cpu飈高

2. io密集型程序case:

mpstat -p all 5: 觀察是否有某個cpu的%iowait很高,同時%usr也較高

pidstat -u 5 1:觀察哪個程序%wait較高,同時%cpu也較高

3. 大量程序case:

pidstat -u 5 1:觀察那些%wait較高的程序是否有很多

Linux 效能優化基礎 平均負載

一些概念 場景模擬 系統 centos release 6.9 final 硬體 單 cpu 虛擬 軟體 stress 和 sysstat 包,後者包含常用 linux 效能工具,這裡主要使用 mpstat 和 pidstat 兩個工具 使用者 root 場景一 cpu 密集型程序 模擬乙個 cpu...

學習Linux效能優化實戰 1

程序排程 軟中斷測試工具 最近在極客時間上面發現了倪鵬飛老師的linux效能優化實戰,自己感覺講得很好,有興趣的朋友可以去極客時間上面訂閱。部落格是自己總結學習到的一些命令,記錄下來,以備後面使用。侵刪。uptime 用來看系統過去的 1 5 15 分鐘的平均負載。mpstat p all inte...

linux效能優化cpu 02平均負載

每次我們系統變慢時,我們通常做的第一件事就是top命令或者uptime命令,看一下系統的負載情況,比如下面 我在命令列中輸入uptime 22 15 51 表示當前系統時間 up 13 min 系統執行總時間 2 users 當前正在登陸 使用者數 load erage 0.12,0.06,0.05...