Linux系统中使用iostat命令检测磁盘的IO性能

  iostat命令可以提供丰富的IO性能状态数据。iostat可以收集和显示系统输入/输出存储设备方面的统计信息.经常用于追查存储设备性能方面的问题,包括设备,本地磁盘和nfs等远程磁盘。

  iostat提供几个用于定制输出的开关。最有用的有:

  -c 只显示CPU行

  -d 显示设备(磁盘)使用状态

  -k 以千字节为单位显示磁盘输出

  -t 在输出中包括时间戳

  -x 在输出中包括扩展的磁盘指标

  rrqm/s: 每秒进行 merge 的读操作数目。

  wrqm/s: 每秒进行 merge 的写操作数目。

  r/s: 每秒完成的读 I/O 设备次数。

  w/s: 每秒完成的写 I/O 设备次数。

  rsec/s: 每秒读扇区数。

  wsec/s: 每秒写扇区数。

  rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。(需要计算)

  wkB/s: 每秒写K字节数。是 wsect/s 的一半。(需要计算)

  avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。

  avgqu-sz: 平均I/O队列长度。

  await: 平均每次设备I/O操作的等待时间 (毫秒)。

  svctm: 平均每次设备I/O操作的服务时间 (毫秒)。

  %util: 一秒中有百分之多少的时间用于 I/O 操作。

  关于Merge的解释:当系统调用需要读取数据的时 候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge

  await:每一个IO请求的处理的平均时间(单位是毫秒)。这里可以理解为IO的响应时间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。

  %util:在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该 设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因 为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。

  这里有几块ssd卡供数据库使用.看下实际使用情况.

  代码如下:

  root@10.1.1.200:~# df -h

  代码如下:

  root@10.1.1.200:~# iostat -d -m 1 5

  #参数 -d表示显示设备磁盘使用状态;-m 使用megabytes为显示单位. 1 5表示每隔1秒刷新一次,共显示5次.

  Linux 2.6.18-6-amd64 (192.168.2.31) 02/16/2016 _x86_64_



  tps:该设备每秒的传输次数,一次传输意思是一次I/O请求,多个逻辑请求肯呢过会被合并为一次I/O请求.一次传输请求的大小是不确定的.

  MB_read/s:每秒从设备读取的数据量.

  MB_wrtn/s:每秒向设备写入的数据量.

  MB_read:读取的总数据量.

  MB_wrtn:写入的总数据量.

  当前统计的ssd卡的磁盘总TPS为551.49.量还比较大.

  下面使用-x参数以获得更多统计信息

  代码如下:

  root@10.1.1.200:~# iostat -d -x -m 1 5

  Linux 2.6.18-6-amd64 (192.168.2.31) 02/16/2016 _x86_64_



  rrqm/s:每秒这个设备相关的读取请求有多少被merge.

  wrqm/s:每秒这个设备相关的写入请求有多少被merge.

  rMB/s:每秒读取的扇区数.

  wMB/s:每秒写入的扇区数.

  await:每一个IO请求的处理的平均时间(单位毫秒),可以理解为IO的响应时间,一般系统IO响应时间应该低于5ms,如果大于10ms就比较大.

  %util:在统计时间内所有处理IO时间,除以总共统计时间.可以理解为设备使用率

  这里可以看到ssd卡在使用率接近100%,写入大量数据时,await响应时间还保持在1ms以下,看来性能果然不错.

  还可以使用-c参数查看cpu状态

  代码如下:

  root@10.1.1.200:~# iostat -c 1 5

  Linux 2.6.18-6-amd64 (192.168.2.31) 02/16/2016 _x86_64_

(0)

相关推荐

  • 在Linux系统中使用tar命令压缩和解压文件的教程

    linux中的tar命令 tar(磁带归档)命令是linux系统中被经常用来将文件存入到一个归档文件中的命令. 其常见的文件扩展包括:.tar.gz 和 .tar.bz2, 分别表示通过了gzip或b ...

  • 关于在Linux系统中的gdb命令知识

    在Linux系统中有许多的命令程序来辅助系统的正常和方便运行,那么其中在系统中有着一个叫做gdb命令的程序,那么我们今天就来了解下关于gdb命令的知识吧! 一、常规调试 gdb是Linux下常用的程序 ...

  • Linux系统中如何从命令行嗅探HTTP流量

    假设你出于某个原因而想嗅探网络上的实时HTTP Web流量(比如HTTP请求和回应)。比如说,你可能在测试网站服务器的试验性功能,或者在调试Web应用程序或充分利用REST的服务,抑或是你想要为PAC ...

  • 在Linux系统中使用xkill命令杀掉未响应的进程

    我们如何在Linux中杀掉一个资源/进程?很明显我们会找出资源的pid然后用kill命令. 说的更明白一点,我们可以找到某个资源(比如terminal)的PID: 代码如下: $ ps -A | gr ...

  • Linux系统中的passwd命令实用技巧小结

    先来回顾一下passwd命令的基本用法: Linux passwd命令用来更改使用者的密码 语法 passwd [-k] [-l] [-u [-f]] [-d] [-S] [username] 必要参 ...

  • Linux系统中的screen命令基本使用教程

    作为linux服务器管理员,经常要使用ssh登陆到远程linux机器上做一些耗时的操作. 也许你遇到过使用telnet或SSH远程登录linux,运行一些程序.如果这些程序需要运行很长时间(几个小时) ...

  • Linux系统中的sudo命令使用讲解

    "Sudo" 是Unix/Linux平台上的一个非常有用的工具,它允许系统管理员分配给普通用户一些合理的"权利",让他们执行一些只有超级用户或其他特许用户才能完 ...

  • Linux系统中使用dd命令来转换和拷贝文件

    dd - 转换和拷贝文件当进行非强制的转换的时候,使用指定的输入和输出块大小拷贝文件 (默认是从标准输入到标准输出.)它每次从输入读取指定大小的一个块(默认是512字节). 如果使用 bs=bytes ...

  • Linux系统中的curl命令使用教程

    命令:curl 在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具 ...