iostat是I/O statistics(輸入/輸出統計)的縮寫,iostat工具將對系統的磁盤操作活動進行監視。它的特點是匯報磁盤活動統計情況,同時也會匯報出CPU使用情況。iostat也有一個弱點,就是它不能對某個進程進行深入分析,僅對系統的整體情況進行分析
常見命令展示
iostat 安裝
iostat屬於sysstat軟件包。可以直接安裝。 yum install sysstat
顯示所有設備負載情況
[root@laso-elk ~]# iostat Linux 3.10.0-1062.1.2.el7.x86_64 (laso-elk) 08/25/2021 _x86_64_ (8 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 5.86 0.00 0.67 1.04 0.00 92.44 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn vda 213.20 552.50 3316.19 31153634133 186990032778
說明:
cpu屬性值說明:
%user:CPU處在用戶模式下的時間百分比。
%nice:CPU處在帶NICE值的用戶模式下的時間百分比。
%system:CPU處在系統模式下的時間百分比。
%iowait:CPU等待輸入輸出完成時間的百分比。
%steal:管理程序維護另一個虛擬處理器時,虛擬CPU的無意識等待時間百分比。
%idle:CPU空閑時間百分比。
備注:
如果%iowait的值過高,表示硬盤存在I/O瓶頸
如果%idle值高,表示CPU較空閑
如果%idle值高但系統響應慢時,可能是CPU等待分配內存,應加大內存容量。
如果%idle值持續低於10,表明CPU處理能力相對較低,系統中最需要解決的資源是CPU。
cpu屬性值說明:
tps:該設備每秒的傳輸次數
kB_read/s:每秒從設備(drive expressed)讀取的數據量;
kB_wrtn/s:每秒向設備(drive expressed)寫入的數據量;
kB_read: 讀取的總數據量;
kB_wrtn:寫入的總數量數據量;
定時顯示所有信息,兩秒顯示一次,顯示3次
[root@laso-elk ~]# iostat -t 2 3 Linux 3.10.0-1062.1.2.el7.x86_64 (laso-elk) 08/25/2021 _x86_64_ (8 CPU) 08/25/2021 11:05:47 AM avg-cpu: %user %nice %system %iowait %steal %idle 5.86 0.00 0.67 1.04 0.00 92.44 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn vda 213.20 552.50 3316.19 31153634157 186990062318 08/25/2021 11:05:49 AM avg-cpu: %user %nice %system %iowait %steal %idle 3.15 0.00 0.57 0.13 0.00 96.15 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn vda 21.50 0.00 258.00 0 516 08/25/2021 11:05:51 AM avg-cpu: %user %nice %system %iowait %steal %idle 3.30 0.00 0.32 0.13 0.00 96.26 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn vda 99.00 0.00 2148.00 0 4296
顯示指定磁盤信息
[root@laso-elk ~]# iostat -d /dev/vda1 Linux 3.10.0-1062.1.2.el7.x86_64 (laso-elk) 08/25/2021 _x86_64_ (8 CPU) Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn vda1 181.26 552.50 3316.19 31153764893 186990095958
顯示tty和Cpu信息
[root@laso-elk ~]# iostat -t Linux 3.10.0-1062.1.2.el7.x86_64 (laso-elk) 08/25/2021 _x86_64_ (8 CPU) 08/25/2021 11:07:24 AM avg-cpu: %user %nice %system %iowait %steal %idle 5.86 0.00 0.67 1.04 0.00 92.44 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn vda 213.20 552.50 3316.19 31153773177 186990123486
以M為單位顯示所有信息
[root@laso-elk ~]# iostat -m Linux 3.10.0-1062.1.2.el7.x86_64 (laso-elk) 08/25/2021 _x86_64_ (8 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 5.86 0.00 0.67 1.04 0.00 92.44 Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn vda 213.20 0.54 3.24 30423606 182607573
查看設備使用率(%util)、響應時間(await)
【-d 顯示磁盤使用情況,-x 顯示詳細信息】
[root@laso-elk ~]# iostat -d -x -k 1 1 Linux 3.10.0-1062.1.2.el7.x86_64 (laso-elk) 08/25/2021 _x86_64_ (8 CPU) 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.78 298.86 20.51 192.69 552.50 3316.19 36.29 0.02 0.17 0.58 0.13 0.20 4.30
說明:
rrqm/s: 每秒進行 merge 的讀操作數目.即 delta(rmerge)/s
wrqm/s: 每秒進行 merge 的寫操作數目.即 delta(wmerge)/s
%util: 一秒中有百分之多少的時間用於 I/O
如果%util接近100%,說明產生的I/O請求太多,I/O系統已經滿負荷
idle小於70% IO壓力就較大了,一般讀取速度有較多的wait。
查看cpu狀態
[root@laso-elk ~]# iostat -c Linux 3.10.0-1062.1.2.el7.x86_64 (laso-elk) 08/25/2021 _x86_64_ (8 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 5.86 0.00 0.67 1.04 0.00 92.44
