Linux下使用iostat监测IO状态
linux系统io故障排查文档

linux系统io故障排查文档Linux系统IO故障排查文档一、引言在Linux系统中,IO故障是常见的问题之一。
当系统出现IO故障时,可能会导致应用程序响应缓慢、数据丢失或系统崩溃等严重后果。
因此,及时排查和解决IO故障是维护系统稳定性和性能的关键。
二、排查步骤1. 观察系统行为我们需要观察系统的行为,包括应用程序的响应时间、磁盘IO负载、系统日志等信息。
通过观察系统行为,我们可以初步判断是否存在IO故障。
2. 检查磁盘状态接下来,我们需要检查磁盘的状态。
可以使用命令"df -h"查看磁盘空间使用情况,以及"fdisk -l"查看磁盘分区信息。
如果磁盘空间已满或分区有问题,可能会导致IO故障。
3. 检查磁盘驱动程序磁盘驱动程序是控制磁盘IO的关键组件。
我们需要检查磁盘驱动程序是否正常工作。
可以使用命令"lsmod | grep <driver>"查看磁盘驱动程序是否加载。
如果磁盘驱动程序未加载或存在异常,可能会导致IO故障。
4. 检查文件系统文件系统是管理磁盘上数据的重要组件。
我们需要检查文件系统是否存在问题。
可以使用命令"fsck"检查文件系统并修复错误。
如果文件系统损坏或存在错误,可能会导致IO故障。
5. 检查磁盘IO性能磁盘IO性能是评估系统IO是否正常的重要指标。
我们可以使用命令"iostat"或"iotop"来监控磁盘的IO性能。
如果磁盘IO性能异常低下或存在高负载,可能会导致IO故障。
6. 检查磁盘设备我们需要检查磁盘设备本身是否存在问题。
可以使用命令"smartctl"检查磁盘设备的健康状态。
如果磁盘设备存在硬件故障或损坏,可能会导致IO故障。
三、解决方案针对不同的IO故障,我们可以采取相应的解决方案。
例如,如果是磁盘空间不足,可以清理不必要的文件或扩展磁盘容量;如果是磁盘驱动程序异常,可以重新加载驱动程序或更新驱动程序版本;如果是文件系统损坏,可以使用fsck命令修复文件系统;如果是磁盘设备故障,可能需要更换磁盘设备。
Unix,Linux 磁盘 IO 性能监控命令

Unix/Linux 磁盘I/O 性能监控命令磁盘I/O 性能监控指标和调优方法在介绍磁盘I/O 监控命令前,我们需要了解磁盘I/O 性能监控的指标,以及每个指标的所揭示的磁盘某方面的性能。
磁盘I/O 性能监控的指标主要包括:指标1:每秒I/O 数(IOPS 或tps)对于磁盘来说,一次磁盘的连续读或者连续写称为一次磁盘I/O, 磁盘的IOPS 就是每秒磁盘连续读次数和连续写次数之和。
当传输小块不连续数据时,该指标有重要参考意义。
指标2:吞吐量(Throughput)指硬盘传输数据流的速度,传输数据为读出数据和写入数据的和。
其单位一般为Kbps, MB/s 等。
当传输大块不连续数据的数据,该指标有重要参考作用。
指标3:平均I/O 数据尺寸平均I/O 数据尺寸为吞吐量除以I/O 数目,该指标对揭示磁盘使用模式有重要意义。
一般来说,如果平均I/O 数据尺寸小于32K,可认为磁盘使用模式以随机存取为主;如果平均每次I/O 数据尺寸大于32K,可认为磁盘使用模式以顺序存取为主。
指标4:磁盘活动时间百分比(Utilization)磁盘处于活动时间的百分比,即磁盘利用率,磁盘在数据传输和处理命令(如寻道)处于活动状态。
磁盘利用率与资源争用程度成正比,与性能成反比。
也就是说磁盘利用率越高,资源争用就越严重,性能也就越差,响应时间就越长。
一般来说,如果磁盘利用率超过70%,应用进程将花费较长的时间等待I/O 完成,因为绝大多数进程在等待过程中将被阻塞或休眠。
指标5:服务时间(Service Time)指磁盘读或写操作执行的时间,包括寻道,旋转时延,和数据传输等时间。
其大小一般和磁盘性能有关,CPU/ 内存的负荷也会对其有影响,请求过多也会间接导致服务时间的增加。
如果该值持续超过20ms,一般可考虑会对上层应用产生影响。
指标6:I/O 等待队列长度(Queue Length)指待处理的I/O 请求的数目,如果I/O 请求压力持续超出磁盘处理能力,该值将增加。
磁盘io性能监控(linux和windows)

[转载]磁盘IO性能监控(Linux 和 Windows)Linux系统出现了性能问题,一般我们可以通过top、iostat、free、vmstat等命令来查看初步定位问题。
其中iostat 可以给我们提供丰富的IO状态数据。
基本使用$iostat -d -k 1 10参数-d 表示,显示设备(磁盘)使用状态;-k某些使用block 为单位的列强制使用Kilobytes为单位;110表示,数据显示每隔1秒刷新一次,共显示10次。
# iostat -x 1 10Linux2.6.18-92.el5xen02/03/2009avg-cpu: %user%nice %system%iowait %steal%idle0.004.82 39.540.0754.46Device:rrqm/swrqm/sr/sw/srsec/s wsec/s avgrq-sz avgqu-sz await svctm %utilsda0.003.50 0.40 2.5048.0018.480.000.970.970.28sdb0.000.00 0.00 0.000.000.000.000.000.000.000.000.000.00 0.00 0.000.000.000.000.000.000.000.00sdd0.000.00 0.00 0.000.000.000.000.000.000.00sde0.000.10 0.30 0.202.402.409.600.001.601.600.08sdf17.400.50102.00 0.20 12095.205.60118.400.706.812.09 21.36 sdg232.401.90379.70 0.50 76451.2019.20 201.134.9413.782.45 93.16rrqm/s: 每秒进行merge 的读操作数目。
即delta(rmerge)/swrqm/s: 每秒进行merge 的写操作数目。
查看磁盘io状况的命令

查看磁盘io状况的命令人们在使用电脑系统时,往往都会面对一些问题。
而磁盘I/O是其中一种问题,它指的是磁盘上每个字节的输入和输出(I/O)状态及磁盘的使用状况。
磁盘I/O的状况很重要,因为它可以指出一个系统是否有性能问题。
运行慢,可能是由于磁盘I/O的状况。
在这种情况下,我们需要查看磁盘IO的状况来分析系统的性能问题,以便及时解决。
为了查看磁盘IO的状况,我们可以使用很多不同的操作系统提供的命令。
比如,在Linux系统中,我们可以使用“iostat”命令来查看磁盘IO的状况。
它可以报告磁盘的分区数量,I/O部分的活动状况,平均磁盘时间,平均转换时间,最大转换时间等数据。
此外,在Unix系统中,我们可以使用“vmstat”命令查看磁盘IO的状况。
它可以报告磁盘IO活动次数,磁盘操作次数,平均转换时间,平均磁盘访问时间等数据。
在Windows系统中,我们可以使用“perfmon”命令查看磁盘IO 的状况。
它可以报告磁盘IO活动百分比,平均磁盘访问时间,读取和写入的活动次数等数据。
还有一些其他的命令可以查看磁盘IO的状况,比如“iotop”,它可以报告磁盘IO的活动,“iostat”,它可以报告磁盘IO的状况,“hdparm”,它可以报告磁盘的性能数据等等。
以上是我们可以用来查看磁盘IO的状况的命令。
每种命令都有不同的特点和功能,我们可以根据自己的需要来选择一种合适的命令进行查看磁盘IO的状况。
值得一提的是,查看磁盘IO状况不仅可以帮助我们分析系统的性能问题,还可以帮助我们实时监控磁盘IO的状况,以便我们可以及时采取措施来解决性能问题和磁盘IO的问题。
总之,查看磁盘IO的状况是非常重要的,其正确的使用可以帮助我们分析性能问题,并实时监控磁盘IO的状况,从而提高系统的性能。
我们可以使用系统提供的命令,比如“iostat”、“vmstat”、“perfmon”等,来查看磁盘IO的状况,从而更好地了解系统性能,并解决性能问题。
Linux进程实时IO监控iotop命令详解

Linux进程实时IO监控iotop命令详解介绍Linux下的IO统计⼯具如iostat, nmon等⼤多数是只能统计到per设备的读写情况, 如果你想知道每个进程是如何使⽤IO的就⽐较⿇烦. iotop 是⼀个⽤来监视磁盘 I/O 使⽤状况的 top 类⼯具。
iotop 具有与 top 相似的 UI,其中包括 PID、⽤户、I/O、进程等相关信息。
实例直接运⾏就好iotop输出如下Total DISK READ: 6.01 M/s | Total DISK WRITE: 3.85 K/sTID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 20074 be/4 hadoop 6.01 M/s 0.00 B/s 0.00 % 4.54 % java -Dproc_datanode -Xmx8192m -server org.apache.hadoop.hdfs.server.datanode.DataNode 6371 be/4 hadoop 0.00 B/s 3.25 M/s 0.00 % 0.00 % java -Dproc_datanode -Xmx8192m -server org.apache.hadoop.hdfs.server.datanode.DataNode 8497 be/4 hadoop 0.00 B/s 3.67 M/s 0.00 % 0.00 % java -Dproc_datanode -Xmx8192m -server org.apache.hadoop.hdfs.server.datanode.DataNode1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]通过输出结果,我们可以清楚地知晓是什么程序在读写磁盘,速度以及命令⾏,pid 等信息。
linux一些常用的查看资源使用命令

linux一些常用的查看资源使用命令常用的查看资源使用命令:Linux作为一种常用的操作系统,提供了许多命令来查看系统资源的使用情况,这些命令可以帮助我们了解系统的负载情况、资源的分配以及进程的运行状态等。
下面介绍一些常用的查看资源使用的命令。
1. top命令top命令是一个动态的系统监视器,可以实时显示系统的整体资源使用情况以及各个进程的状态。
在终端中输入top命令后,会显示一个实时更新的进程列表,包括进程的PID、CPU使用率、内存使用率等信息。
通过按键可以对进程进行排序,方便查看系统中资源占用较高的进程。
2. free命令free命令用于显示系统内存的使用情况。
运行free命令后,会显示系统的总内存、已使用内存、空闲内存以及缓冲区和缓存的使用情况。
通过这些信息,我们可以了解系统的内存使用情况,及时调整资源分配。
3. vmstat命令vmstat命令用于显示系统的虚拟内存、进程、CPU活动等信息。
运行vmstat命令后,会显示系统的CPU利用率、内存使用情况、进程的等待状态以及虚拟内存的使用情况。
通过这些信息,我们可以了解系统的整体性能情况,及时发现并解决问题。
4. iostat命令iostat命令用于显示系统的磁盘和IO设备的使用情况。
运行iostat 命令后,会显示各个磁盘的读写速度、IO请求队列的长度以及CPU 的等待IO的时间等信息。
通过这些信息,我们可以了解系统的磁盘IO性能,及时进行优化和调整。
5. df命令df命令用于显示系统的磁盘空间使用情况。
运行df命令后,会显示系统中每个文件系统的总空间、已使用空间、可用空间以及使用率等信息。
通过这些信息,我们可以了解系统磁盘空间的使用情况,及时进行清理或扩容。
6. du命令du命令用于统计文件或目录的磁盘使用情况。
运行du命令后,会显示指定文件或目录的总大小以及子目录的大小。
通过这些信息,我们可以了解文件或目录的磁盘占用情况,及时进行清理或迁移。
iostat用法
iostat用法
iostat是Linux系统中用于监测磁盘设备的输入和输出状况的工具,它可以显示磁盘设备的IO情况,同时可以计算每个设备的IO吞吐量,因
此可以帮助用户理解系统内的IO负载模式,优化系统IO操作,以达到提
高系统性能的目的。
其中,OPTIONS是一系列可选选项,可以使用-h选项来列出所有的可
用选项;devices是指定要监控的磁盘设备,如果没有指定,默认是所有
的磁盘设备;interval指定监控的间隔时间(单位为秒),如果没有指定,则表示只显示一次结果;count指定要重复显示的次数。
使用iostat的时候,需要注意以下几点:
1、使用iostat前,要先将系统的负载调到一个正常水平,并且没有
特殊的IO操作。
2、使用iostat时,要考虑到系统的负载情况,并且不要过分依赖监
控的结果。
3、iostat命令的输出结果可以改变,请根据实际情况进行合理的解释。
4、磁盘设备的增加或降低,都会对iostat的结果造成影响,所以需
要经常更新iostat的结果才有意义。
使用iostat的一般步骤如下:
1、定义要监控的磁盘设备:首先,必须定义要监控的磁盘设备,使
用-d选项指定监测哪些设备,如果不指定,则默认监测所有的磁盘设备。
linux日常巡检方法
linux日常巡检方法Linux日常巡检是确保Linux服务器正常运行的重要工作之一、巡检可以帮助我们发现潜在问题,提前解决,从而避免系统故障和安全问题的发生。
下面我将介绍一些常用的Linux日常巡检方法。
1.CPU使用率检查:通过命令“top”或“htop”可以查看CPU的使用率,通过观察CPU 的使用情况,可以判断系统是否存在过载问题,及时采取措施处理。
2.内存使用情况检查:使用命令“free -h”可以查看内存使用情况,包括已用内存、可用内存、缓存和交换空间等。
如果内存使用率过高,可能会导致系统变慢或者崩溃,需要进一步检查哪些进程占用了过多的内存。
3.磁盘空间检查:通过命令“df -h”可以查看各个分区的磁盘空间使用情况,及时发现磁盘空间不足的问题,避免系统因为磁盘满了而停止工作。
4.磁盘I/O检查:使用命令“iostat -x 1”可以实时监控磁盘的读写情况,可以检查磁盘是否存在过高的I/O负载,以及是否有磁盘读写速度异常的问题。
5.网络连接检查:使用命令“netstat -tun lp”可以查看当前的网络连接情况,包括TCP和UDP连接。
可以检查是否存在异常连接,及时发现并处理网络安全问题。
6.日志文件检查:通过检查系统日志文件,如/var/log/messages和/var/log/syslog,可以了解系统的运行状态,包括系统启动,服务启动和关闭等。
如果发现异常或者错误信息,可以及时采取措施解决。
7.进程监控:使用命令“ps aux”可以查看当前运行的进程列表,如果发现有异常或者未知的进程,可能存在安全风险。
应该及时调查并进行处理。
8.定时任务检查:通过命令“cron tab -l”可以查看系统的定时任务列表,确保定时任务正常运行,并检查是否存在异常的定时任务,避免系统遭受攻击。
9.网络服务检查:通过命令“systemctl list-units --type=service”可以查看系统中运行的服务列表,确保关键服务正常运行,并检查是否存在异常的服务进程。
Linux命令技巧优化磁盘IO性能和文件系统速度
Linux命令技巧优化磁盘IO性能和文件系统速度在Linux系统中,优化磁盘IO性能和文件系统速度是提高系统运行效率和响应速度的关键。
本文将介绍一些常用的Linux命令技巧,帮助您进行磁盘IO性能和文件系统速度的优化。
一、优化磁盘IO性能1. 使用iostat命令监测磁盘IO状况iostat命令可以用来监测系统的磁盘IO情况,通过观察硬盘的平均响应时间、平均等待时间等参数,可以判断磁盘IO是否存在性能瓶颈。
使用iostat命令的示例如下:```shelliostat -d -x 1 5```其中,“-d”参数表示只显示设备信息,“-x”参数表示显示扩展信息,“1”表示每秒刷新一次,“5”表示总共刷新5次。
2. 调整读写策略Linux系统对于磁盘IO有三种基本的读写策略,分别为同步IO、异步IO和直接IO。
同步IO适用于对数据完整性要求较高的场景,但会降低性能;异步IO可以提高性能,但可能会导致数据丢失;直接IO 可以绕过文件缓存,减少IO延迟,提高性能。
我们可以根据具体需求,选择适合的IO策略。
在进行IO操作时,可以使用以下命令设置IO策略:```shellecho "策略" > /sys/block/设备名/queue/scheduler```其中,“策略”可以是以下几种:cfq、noop、deadline。
3. 提高文件系统的读写性能文件系统的读写性能也对系统的整体性能有影响。
可以通过以下方法来提高文件系统的读写性能:(1)选择适当的文件系统类型:不同的文件系统类型对于读写性能有所差异。
较新的文件系统(如ext4、xfs)通常性能更好。
(2)调整文件系统的挂载选项:可以通过修改/etc/fstab文件来调整文件系统的挂载选项,包括atime、noatime、barrier等。
(3)使用延迟写入:通过将文件系统挂载为“writeback”模式,可以将数据写入缓存,减少磁盘IO的频繁操作,提高性能。
Linux系统IO分析工具之iotop参数详解(查看IO占用)
Linux系统IO分析⼯具之iotop参数详解(查看IO占⽤)这篇⽂章主要介绍了Linux系统IO分析⼯具之iotop参数详解(查看IO占⽤),本⽂着重注解了iotop⼯具的参数,以及可操作命令,需要的朋友可以参考下简介:iotop – simple top-like I/O monitoriotop是⼀个⽤来监视磁盘I/O使⽤状况的 top 类⼯具,可监测到哪⼀个程序使⽤的磁盘IO的信息(requires 2.6.20 or later)安装:复制代码代码如下:yum -y install iotop⽤法:复制代码代码如下:iotop [OPTIONS]选项:复制代码代码如下:--version #显⽰版本号-h, --help #显⽰帮助信息-o, --only #显⽰进程或者线程实际上正在做的I/O,⽽不是全部的,可以随时切换按o-b, --batch #运⾏在⾮交互式的模式-n NUM, --iter=NUM #在⾮交互式模式下,设置显⽰的次数,-d SEC, --delay=SEC #设置显⽰的间隔秒数,⽀持⾮整数值-p PID, --pid=PID #只显⽰指定PID的信息-u USER, --user=USER #显⽰指定的⽤户的进程的信息-P, --processes #只显⽰进程,⼀般为显⽰所有的线程-a, --accumulated #显⽰从iotop启动后每个线程完成了的IO总数-k, --kilobytes #以千字节显⽰-t, --time #在每⼀⾏前添加⼀个当前的时间-q, --quiet #suppress some lines of header (implies --batch). This option can be specified up to three times to remove header lines.-q column names are only printed on the first iteration,-qq column names are never printed,-qqq the I/O summary is never printed.可⽤的命令(在运⾏iotop命令后按相应键位):使⽤left和right改变排序(⽅向键改变排序列),还可使⽤以下命令:复制代码代码如下:r:反向排序,o:切换⾄选项--only,p:切换⾄--processes选项,a:切换⾄--accumulated选项q:退出i:改变线程的优先级例⼦:复制代码代码如下:$ iotop$ iotop –b –n 3 –d 5iotop命令是专门显⽰硬盘IO的命令,界⾯风格类似top命令。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux iostat监测IO状态Linux系统出现了性能问题,一般我们可以通过top、iostat、free、vmstat等命令来查看初步定位问题。
其中iostat 可以给我们提供丰富的IO状态数据。
1. 基本使用$iostat -d -k 1 10参数-d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;1 10表示,数据显示每隔1秒刷新一次,共显示10次。
$iostat -d -k 1 10Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtnsda 39.29 21.14 1.44 441339807 29990031sda1 0.00 0.00 0.00 1623 523sda2 1.32 1.43 4.54 29834273 94827104sda3 6.30 0.85 24.95 17816289 520725244sda5 0.85 0.46 3.40 9543503 70970116sda6 0.00 0.00 0.00 550 236sda7 0.00 0.00 0.00 406 0sda8 0.00 0.00 0.00 406 0sda9 0.00 0.00 0.00 406 0sda10 60.68 18.35 71.43 383002263 1490928140Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtnsda 327.55 5159.18 102.04 5056 100sda1 0.00 0.00 0.00 0 0tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。
“一次传输”意思是“一次I/O请求”。
多个逻辑请求可能会被合并为“一次I/O请求”。
“一次传输”请求的大小是未知的。
kB_read/s:每秒从设备(drive expressed)读取的数据量;kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;kB_read:读取的总数据量;kB_wrtn:写入的总数量数据量;这些单位都为Kilobytes。
上面的例子中,我们可以看到磁盘sda以及它的各个分区的统计数据,当时统计的磁盘总TPS是39.29,下面是各个分区的TPS。
(因为是瞬间值,所以总TPS并不严格等于各个分区TPS的总和)2. -x 参数使用-x参数我们可以获得更多统计信息。
iostat -d -x -k 1 10Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %utilsda 1.56 28.31 7.80 31.49 42.51 2.92 21.26 1.46 1.16 0.03 0.79 2.62 10.28Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %utilsda 2.00 20.00 381.00 7.00 12320.00 216.00 6160.00 108.00 32.31 1.75 4.50 2.17 84.20rrqm/s:每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge);wrqm/s:每秒这个设备相关的写入请求有多少被Merge了。
rsec/s:每秒读取的扇区数;wsec/:每秒写入的扇区数。
r/s:The number of read requests that were issued to the device per second;w/s:The number of write requests that were issued to the device per second;await:每一个IO请求的处理的平均时间(单位是微秒)。
这里可以理解为IO的响应时间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。
%util:在统计时间内所有处理IO时间,除以总共统计时间。
例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。
一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。
3. -c 参数iostat还可以用来获取cpu部分状态值:iostat -c 1 10avg-cpu: %user %nice %sys %iowait %idle1.98 0.00 0.35 11.45 86.22avg-cpu: %user %nice %sys %iowait %idle1.62 0.00 0.25 34.46 63.674. 常见用法$iostat -d -k 1 10 #查看TPS和吞吐量信息iostat -d -x -k 1 10 #查看设备使用率(%util)、响应时间(await)iostat -c 1 10 #查看cpu状态5. 实例分析$$iostat -d -k 1 |grep sda10Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtnsda10 60.72 18.95 71.53 395637647 1493241908sda10 299.02 4266.67 129.41 4352 132sda10 483.84 4589.90 4117.17 4544 4076sda10 218.00 3360.00 100.00 3360 100sda10 546.00 8784.00 124.00 8784 124sda10 827.00 13232.00 136.00 13232 136上面看到,磁盘每秒传输次数平均约400;每秒磁盘读取约5MB,写入约1MB。
iostat -d -x -k 1Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %utilsda 1.56 28.31 7.84 31.50 43.65 3.16 21.82 1.58 1.19 0.03 0.80 2.61 10.29sda 1.98 24.75 419.80 6.93 13465.35 253.47 6732.67 126.73 32.15 2.00 4.70 2.00 85.25sda 3.06 41.84 444.90 54.08 14204.08 2048.98 7102.04 1024.49 32.57 2.10 4.21 1.85 92.24可以看到磁盘的平均响应时间<5ms,磁盘使用率>80。
磁盘响应正常,但是已经很繁忙了。
参考文献:Linux man iostatHow Linux iostat computes its resultsLinux iostat/AE86_FC/archive/2010/02/03/5284112.aspx最近要对分布式集群做一些性能测试,其中一个很重要的项就是测试hadoop分布式集群在支持多磁盘轮转写入的时候在各种磁盘配置的情况下的读写性能,如在RAID0,RAID5和JBOD情况下的磁盘性能,所以linux 下的iostat 命令就在产生report的脚本中非常有用,特此记录下iostat命令的一些使用笔记:[命令:] iostat [-c|-d] [-k] [-t] [间隔描述] [检测次数]参数:-c : 仅显示cpu的状态-d : 仅显示存储设备的状态,不可以和-c一起使用-k : 默认显示的是读入读出的block信息,用-k可以改成KB大小来显示-t : 显示日期-p device | ALL : device为某个设备或者某个分区,如果使用ALL,就表示要显示所有分区和设备的信息显示示例:avg-cpu: %user %nice %sys %iowait %idle4.55 0.00 0.63 0.26 94.56Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtncciss/c0d0 30.11 68.20 67.13 1232784060 1213452142cciss/c0d0p1 0.00 0.00 0.00 2531 2cciss/c0d0p2 83.78 68.18 67.11 1232572011 1213204536dm-0 1.06 0.60 4.07 10873201 73555720dm-1 82.50 67.42 62.23 1218704309 1124966656dm-2 0.21 0.18 0.83 3199605 14929540dm-3 0.00 0.00 0.00 372 224以上显示分为上下两个部分,上半部分显示CPU的信息,下面的数据显示存储设备的相关数据,它的数据意义如下:tps:平均每秒钟的传送次数,与数据传输“次数”相关,非容量kB_read/s:启动到现在的平均读取单位kB_wrtn/s:启动到现在的平均写入单位kB_read:启动到现在总共读出来的文件单位kB_wrtn:启动到现在总共写入的文件单位如果想要对iostat检查多此,每次之间的间隔一定数量的秒数,这样就可以查看每几秒钟之内的io统计数据,这对性能的测试才具有实际意义:$> iostat -d 2 3表示没两秒钟检查一次,一共检查三次avg-cpu: %user %nice %sys %iowait %idle4.55 0.00 0.63 0.26 94.56Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtncciss/c0d0 30.11 68.20 67.13 1232900288 1213456210cciss/c0d0p1 0.00 0.00 0.00 2531 2cciss/c0d0p2 83.78 68.19 67.11 1232688239 1213208604 dm-0 1.06 0.60 4.07 10873201 73558008 dm-1 82.50 67.42 62.23 1218820537 1124967604 dm-2 0.21 0.18 0.83 3199605 14930372 dm-3 0.00 0.00 0.00 372 224avg-cpu: %user %nice %sys %iowait %idle0.00 0.00 0.63 0.00 99.37Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn cciss/c0d0 1.02 0.00 63.27 0 124 cciss/c0d0p1 0.00 0.00 0.00 0 0 cciss/c0d0p2 15.82 0.00 63.27 0 124 dm-0 15.82 0.00 63.27 0 124 dm-1 0.00 0.00 0.00 0 0 dm-2 0.00 0.00 0.00 0 0 dm-3 0.00 0.00 0.00 0 0avg-cpu: %user %nice %sys %iowait %idle0.00 0.00 0.32 0.00 99.68Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn cciss/c0d0 3.06 0.00 26.53 0 52 cciss/c0d0p1 0.00 0.00 0.00 0 0 cciss/c0d0p2 6.63 0.00 26.53 0 52 dm-0 0.00 0.00 0.00 0 0 dm-1 6.63 0.00 26.53 0 52 dm-2 0.00 0.00 0.00 0 0 dm-3 0.00 0.00 0.00 0 0其中每一次的统计都是上一次的统计时间到这次的统计时间之间的统计数据。