一、什麼是平均負載
正確定義:單位時間內,系統中處於可執行狀態和不可中斷狀態的平均程序數。
錯誤定義:單位時間內的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...