Linux 系统磁盘 IO 状态查看
一、iostat命令查看磁盘IO情况
我们在安装sysstat包后,执行命令:
# iostat
即可查看当前系统的磁盘IO使用情况。
该命令有以下常用参数:
- -d:仅仅显示磁盘统计信息
- -k:以Kb为单位显示,默认情况下以块为单位
- -p:表示指定显示IO的设备,ALL表示显示所有
因此,我们执行命令:
# iostat -d
其结果如下所示:
Linux 3.10.0-1062.9.1.el7.x86_64 (iZm5e8ip0m748y26ibnel2Z) 	09/26/2023 	_x86_64_	(1 CPU)
Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               0.86         0.64         6.17   74681429  723048152
vdb               0.04         0.05         0.40    5941853   47051280
iostat命令显示的内容含义如下:
- Device:设备名称
- tps:该设备的每秒传输次数(每秒的IO请求数)
- KB_read/s:每秒从设备读取的数据量
- KB_wrtn/s:每秒向设备写入的数据量
- KB_read:从设备读取的数据总量
- KB_wrtn:向设备写入的数据总量
二、iotop命令查看磁盘IO瓶颈
在Linux系统中,我们使用iotop命令可以查看当前使用磁盘IO的进程。
该命令在最小化安装时同样不存在,我们在安装时需要执行命令:
# yum install -y iotop
即可完成iotop的安装。安装后,我们执行命令:
# iotop -d 10
结果如下所示:
Total DISK READ :	0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:	0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                                                                                     
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % systemd --switched-root --system --deserialize 21
    2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
    4 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/0:0H]
    6 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
    7 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]
    8 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rcu_bh]
    9 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rcu_sched]
   10 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [lru-add-drain]
   11 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/0]
  524 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % rsyslogd -n [in:imjournal]
   13 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kdevtmpfs]
   14 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [netns]
... ... ...
该命令有以下常用参数:
- -o:表示只显示正在读写磁盘的程序
- -d:后面跟一个数值,表示iotop命令刷新的时间
执行该命令后,可以使用以下命令切换显示:
- 左右箭头:表示切换排序方式,默认情况下是使用IO排序
- r:表示改变排序的顺序
- o:表示只显示有磁盘读写的进程
- p:表示切换进程|线程的显示方式
- a:表示显示累积量
- q:表示退出
