一、使用背景
有时候使用程序在服务器上拷贝比较大的文件目录时,会遇到比较慢的情况,使用jstack
命令查看进程堆栈时发现程序卡在拷贝文件夹的代码上,这时使用iostat
监控磁盘的读写情况有助于分析问题原因。
二、使用df确定磁盘名
线上服务器一般会在dev
下安装有很多块硬盘,然后再挂载到/
根目录下的某个目录上,我们平时使用的路径名是/
根目录下的某个目录,但是iostat
显示的确是dev
下的磁盘名,这时可以使用df -h
查看dev
磁盘名和/
下目录的对应关系,如下所示:
三、使用iostat
使用如下命令可以查看磁盘的读写情况:
iostat -d -h -k 2
其中参数
-d
:Display the device utilization report.
-h
:Make the NFS report displayed by option -n easier to read by a human.
-k
:以kb/s为单位显示(也可使用-m
:按mb/s为单位显示)。
2
:每隔2秒刷新一次。
执行的结果如下:
列1:磁盘名
列2:每秒处理的io请求数
列3:每秒读速率
列4:每秒写速率
列5:总共读的数据量
列6:总共写的数据量