磁盘I/O相关命令参数

Posted 风来了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了磁盘I/O相关命令参数相关的知识,希望对你有一定的参考价值。

SCSI/SATA硬盘名称: sd[a-p]

1. 进入/sys/block/sda/queue/

 ls -1 /sys/block/sda/queue/ | awk ‘{cmd="cat "i$0; print i$0; system(cmd) }‘ i=`pwd`‘/‘


/sys/block/sda/queue/add_random
1
/sys/block/sda/queue/discard_granularity
0
/sys/block/sda/queue/discard_max_bytes
0
/sys/block/sda/queue/discard_zeroes_data
0
/sys/block/sda/queue/hw_sector_size
512
/sys/block/sda/queue/iosched
cat: /sys/block/sda/queue/iosched: 是一个目录
/sys/block/sda/queue/iostats
1
/sys/block/sda/queue/logical_block_size
512
/sys/block/sda/queue/max_hw_sectors_kb
32767
/sys/block/sda/queue/max_integrity_segments
0
/sys/block/sda/queue/max_sectors_kb
512
/sys/block/sda/queue/max_segments
128
/sys/block/sda/queue/max_segment_size
65536
/sys/block/sda/queue/minimum_io_size
4096
/sys/block/sda/queue/nomerges
0
/sys/block/sda/queue/nr_requests
128
/sys/block/sda/queue/optimal_io_size
0
/sys/block/sda/queue/physical_block_size
4096
/sys/block/sda/queue/read_ahead_kb
128
/sys/block/sda/queue/rotational
1
/sys/block/sda/queue/rq_affinity
1
/sys/block/sda/queue/scheduler
noop deadline [cfq]
/sys/block/sda/queue/unpriv_sgio
0
/sys/block/sda/queue/write_same_max_bytes

 

scsi设备列表

lsscsi -l
[0:0:0:0] disk ATA ST1000DM003-1ER1 CC46 /dev/sda
state=running queue_depth=1 scsi_level=6 type=0 device_blocked=0 timeout=30

 

iostat

iostat -mtx 2

fio --name=randwrite --rw=randwrite --bs=4k --size=20G --runtime=1200 --ioengine=libaio --iodepth=16 --numjobs=1 --filename=/dev/sda --direct=1 --group_reporting

2018年01月22日 16时54分33秒
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.01    0.00    0.51   25.25    0.00   73.23

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               1.50     0.00    3.00  183.50     0.12     0.71     9.09    18.11  101.74  177.67  100.50   5.36 100.00
dm-0              0.00     0.00    3.50    5.00     0.14     0.01    38.12     1.47  178.29  145.57  201.20 114.76  97.55
dm-1              0.00     0.00    2.00    0.00     0.01     0.00     8.00     0.09   47.00   47.00    0.00  11.75   2.35
dm-2              0.00     0.00    0.00    2.50     0.00     0.02    17.60     0.62  240.20    0.00  240.20 249.40  62.35

 

rrqms:每秒这个设备相关的读取请求有多少被Merge了(读取数据时,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge) wrqm/s:每秒这个设备相关的写入请求有多少被Merge了。

rsec/s:The number of sectors read from the device per second.

wsec/s:The number of sectors written to the device per second.

rKB/s:The number of kilobytes read from the device per second.

wKB/s:The number of kilobytes written to the device per second.

avgrq-sz:平均请求扇区的大小,The average size (in sectors) of the requests that were issued to the device.

avgqu-sz:是平均请求队列的长度。毫无疑问,队列长度越短越好,The average queue length of the requests that were issued to the device.

await:每一个IO请求的处理的平均时间(单位是毫秒)。这里可以理解为IO的响应时间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。
这个时间包括了队列时间和服务时间,也就是说,一般情况下,await大于svctm,它们的差值越小,则说明队列时间越短,反之差值越大,队列时间越长,说明系统出了问题。 svctm:表示平均每次设备I/O操作的服务时间(以毫秒为单位)。如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好。
如果await的值远高于svctm的值,则表示I/O队列等待太长,系统上运行的应用程序将变慢。

%util: 在统计时间内所有处理IO时间,除以总共统计时间。

 

 

参考:

fio使用指南

深入理解iostate

以上是关于磁盘I/O相关命令参数的主要内容,如果未能解决你的问题,请参考以下文章

iostat 监视I/O子系统

iostat相关参数说明——await:平均每次设备I/O操作的等待时间 (毫秒),如果%util接近 100%,说明产生的I/O请求太多

磁盘I/O高居不下,通过什么来查看占用I/O的进程?

windows下如何查看磁盘IO性能

I/O排查命令

iostat命令