Linux 效能優化基礎 平均負載

2021-09-26 08:39:39 字數 1440 閱讀 3026

一些概念

場景模擬

系統:centos release 6.9 (final)

硬體:單 cpu(虛擬)

軟體:stress 和 sysstat 包,後者包含常用 linux 效能工具,這裡主要使用 mpstat 和 pidstat 兩個工具

使用者:root

場景一:cpu 密集型程序

模擬乙個 cpu 使用 100%

stress --cpu 1 --timeout 600

第二個終端檢視 uptime 檢視平均負載變化,可觀察 1 分鐘平均負載會逐步增加到 1 左右

watch -d uptime
第三個終端檢視 cpu 使用率變化 ,可觀察到 cpu 使用率為 100% 左右

mpstat -p all 5

第四個終端使用 pidstat 來查詢是哪個程序導致的 cpu 使用率 100% ,可看到 stress 程序 cpu 使用率 100% (%usr 指標)

pidstat -u 5 1

場景二:i/o 密集型程序

模擬 i/o 壓力,不停執行 sync

stress -i 1 --timeout 600

第二個終端檢視 uptime 檢視平均負載變化,可觀察 1 分鐘平均負載會逐步增加到 1 左右

watch -d uptime
第三個終端檢視 cpu 使用率變化 ,可觀察到 cpu 使用率的 %sys 指標上公升,如果有顯示 %iowait 此值也上公升(如果 cpu 不太行,此時可能 %sys 會到 99%,%iowait 值還好)

mpstat -p all 5

第四個終端使用 pidstat 來查詢是哪個程序導致 %sys 或者 %iowait 高 ,可看到仍然是 stress 程序導致

pidstat -u 5 1

場景三:大量程序的場景

模擬 3 個程序

stress -c 3 --timeout 600

第二個終端檢視 uptime 檢視平均負載變化,可觀察 1 分鐘平均負載會逐步增加到 3 左右

watch -d uptime
第三個終端使用 pidstat 來查詢,可觀察 3 個程序爭搶 1 個 cpu ,%wait 列如果有顯示,大概在 66% 左右(等待 cpu 時間)

pidstat -u 5 1

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

一 什麼是平均負載 正確定義 單位時間內,系統中處於可執行狀態和不可中斷狀態的平均程序數。錯誤定義 單位時間內的cpu使用率。可執行狀態的程序 正在使用cpu或者正在等待cpu的程序,即ps aux命令下stat處於r狀態的程序 不可中斷狀態的程序 處於核心態關鍵流程中的程序,且不可被打斷,如等待硬...

linux效能優化cpu 02平均負載

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

Linux 理解平均負載

uptime輸出的平均負載,又叫平均程序數,包括正在使用cpu 等待cpu 等待io的程序。和cpu使用率沒有直接關係。假設系統只有乙個cpu,當平均負載為1,即每個cpu剛好執行乙個任務 不可中斷狀態 ps為d狀態的 可執行狀態 ps為r狀態 cpu使用率含義 單位時間內cpu繁忙情況的統計,和平...