目錄
- iostat命令介紹
- iostat命令幫助
- iostat幫助資訊
- iostat的選項解釋
- iostat命令基本使用
- 檢視iostat工具版本
- 直接使用iostat命令
- 每次間隔5秒,檢視3次資訊
- 只檢視磁碟狀態
- 以k或M為單位顯示資訊
- 顯示磁碟I/O詳細情況
- 檢視cpu狀態資訊
- iostat命令的使用總結
- 磁碟模組分析
- CPU模組分析
iostat命令介紹
iostat命令是Linux/Unix系統中的一種工具,用於監控系統的磁碟I/O活動情況,可以展示磁碟的讀寫速率、I/O等待時間、CPU使用率等資訊。iostat命令可以幫助系統管理員發現系統瓶頸,並且最佳化系統來提高效能。
iostat命令幫助
iostat幫助資訊
- 在Linux中的iostat幫助資訊
# iostat --help
Usage: iostat [ options ] [ <interval> [ <count> ] ]
Options are:
[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]
[ -j { ID | LABEL | PATH | UUID | ... } ]
[ [ -T ] -g <group_name> ] [ -p [ <device> [,...] | ALL ] ]
[ <device> [...] | ALL ]
iostat的選項解釋
- iostat選項解釋
-c: 僅顯示CPU利用率相關資訊;
-d: 僅顯示磁碟I/O相關資訊;
-k: 顯示輸出的資料單位為KB/s而不是預設的位元組/s;
-t: 在輸出中顯示時間戳(時間戳格式YYYY-MM-DD HH:MM:SS)。
-m:顯示狀態以兆位元組每秒為單位;
-p:僅顯示塊裝置和所有被使用的其他分割槽的狀態;
-V:顯示版號並退出;
-x:顯示擴充套件狀態。
- 引數解釋
間隔次數:每次報告的間隔時間(秒)
次數:顯示報告的次數
iostat命令基本使用
檢視iostat工具版本
- 檢視iostat工具版本
# iostat -V
sysstat version 10.1.5
(C) Sebastien Godard (sysstat <at> orange.fr)
直接使用iostat命令
- 直接使用iostat命令,檢視系統的整體情況,顯示CPU的負載情況和磁碟的狀態資訊。
# iostat
Linux 5.4.259-1.el7.elrepo.x86_64 (devops03) 08/15/24 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.84 0.00 0.21 0.06 0.00 97.89
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 3.62 0.07 59.57 1805239 1451788474
每次間隔5秒,檢視3次資訊
- 每隔5秒,檢視系統的狀態資訊,一共檢視3次。
# iostat 5 3
Linux 5.4.259-1.el7.elrepo.x86_64 (devops03) 08/15/24 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.84 0.00 0.21 0.06 0.00 97.89
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 3.62 0.07 59.57 1805239 1451802514
avg-cpu: %user %nice %system %iowait %steal %idle
1.30 0.00 0.65 15.52 0.05 82.47
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 18.80 0.00 358.40 0 1792
avg-cpu: %user %nice %system %iowait %steal %idle
1.81 0.00 0.65 0.85 0.15 96.54
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 4.40 0.00 78.40 0 392
只檢視磁碟狀態
- 只檢視磁碟的狀態資訊,展示磁碟的讀寫速率、I/O等待時間、CPU使用率等資訊。
iostat -d
Linux 5.4.259-1.el7.elrepo.x86_64 (devops03) 08/15/24 _x86_64_ (4 CPU)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 3.62 0.07 59.57 1805239 1451817510
- 實時監控,每隔5秒就顯示磁碟資訊。
iostat -d 5
Linux 5.4.259-1.el7.elrepo.x86_64 (devops03) 08/15/24 _x86_64_ (4 CPU)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 3.62 0.07 59.58 1805239 1451969910
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 4.40 0.00 85.60 0 428
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 3.00 0.00 64.80 0 324
以k或M為單位顯示資訊
- 以k或M為單位顯示資訊
# iostat -k
Linux 5.4.259-1.el7.elrepo.x86_64 (devops03) 08/15/24 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.84 0.00 0.21 0.06 0.00 97.89
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 3.62 0.07 59.58 1805239 1451980550
# iostat -m
Linux 5.4.259-1.el7.elrepo.x86_64 (devops03) 08/15/24 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.84 0.00 0.21 0.06 0.00 97.89
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
vda 3.62 0.00 0.06 1762 1417951
顯示磁碟I/O詳細情況
- 顯示某塊磁碟I/O的詳細情況
# iostat -x /dev/vda
Linux 5.4.259-1.el7.elrepo.x86_64 (devops03) 08/15/24 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.84 0.00 0.21 0.06 0.00 97.89
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.00 10.99 0.00 3.62 0.07 59.58 32.98 0.01 2.44 8.40 2.44 0.74 0.27
Device 監測裝置名稱
- rrqm/s:每秒需要讀取需求的數量
- wrqm/s:每秒需要寫入需求的數量
- r/s:每秒實際讀取需求的數量
- w/s:每秒實際寫入需求的數量
- rsec/s:每秒讀取區段的數量
- wsec/s:每秒寫入區段的數量
- rkB/s:每秒實際讀取的大小,單位為KB
- wkB/s:每秒實際寫入的大小,單位為KB
- avgrq-sz:需求的平均大小區段
- avgqu-sz:需求的平均佇列長度
- await:等待I/O平均的時間(milliseconds)
- svctm:I/O需求完成的平均時間
- %util:被I/O需求消耗的CPU百分比
檢視cpu狀態資訊
- 檢視cpu狀態資訊
iostat -c 5 2
Linux 5.4.259-1.el7.elrepo.x86_64 (devops03) 08/15/24 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.84 0.00 0.21 0.06 0.00 97.89
avg-cpu: %user %nice %system %iowait %steal %idle
1.60 0.00 0.55 0.00 0.00 97.84
- %user:表示使用者空間程式執行的CPU時間百分比。
- %nice:表示以較高的優先順序執行的使用者程序的CPU時間百分比。
- %system:表示核心空間程式執行的CPU時間百分比。
- %iowait:表示CPU等待I/O操作完成的時間百分比。
- %steal:表示由於執行虛擬機器等原因被其他虛擬機器佔用的CPU時間百分比。
- %idle:表示CPU空閒時間的百分比。
iostat命令的使用總結
磁碟模組分析
在使用IOStat進行系統效能監控時,需要注意綜合分析磁碟和CPU等多個效能指標,以全面評估系統效能瓶頸的位置和原因。
透過監控以上指標,可以識別磁碟的瓶頸位置,例如:
- 如果r/s和w/s較高,說明磁碟IO壓力較大,需要考慮更換更高效能的硬碟;
- 如果await和svctm較高,說明磁碟處理I/O請求的能力不足,可能需要更換磁碟控制器或升級磁碟陣列等。
CPU模組分析
透過監控以上指標,可以識別CPU的瓶頸位置,例如:
- 如果%user和%system較高,說明CPU的負載較大,可能需要考慮升級CPU或增加CPU核心數;
- 如果%iowait較高,說明CPU等待IO完成的時間較長,可能需要最佳化磁碟效能或者減少磁碟IO操作;
- 如果%idle值高,表示CPU較空閒,系統處於空閒狀態,無太多處理任務;
- 如果%idle值高但系統響應慢時,有可能是CPU等待分配記憶體,此時應加大記憶體容量。
- 如果%idle較低,說明CPU負載較大,可能需要考慮最佳化應用程式或增加CPU資源等。