`
LIMIMGJIE
  • 浏览: 173717 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

iostat是从哪里得到IO相关信息的吗

阅读更多
  小技巧:你知道iostat是从哪里得到IO相关信息的吗?使用strace命令能跟踪到答案:

shell> strace -eopen iostat
open("/proc/diskstats", O_RDONLY)

    注:关于diskstats的说明,参见官方文档(field1 ~ field11)。

    我最常用的iostat命令格式是:『iostat -dx 1』,意思是每隔一秒显示一次IO扩展信息。

shell> iostat -dx 1
Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s
sda               0.18    37.71  0.65  2.63    50.18   322.08
                avgrq-sz avgqu-sz   await  svctm  %util
                  113.46     0.35  107.49   1.67   0.55

Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s
sda               0.00  4208.00  0.00 165.00     0.00 163872.00
                avgrq-sz avgqu-sz   await  svctm  %util
                  993.16   119.54 1144.36   6.07 100.10

    注:开头显示的是自系统启动开始的平均值,后面显示的是每段时间间隔里的平均值。

    介绍一下相关参数的含义:
# rrqm/s:队列中每秒钟合并的读请求数量
# wrqm/s:队列中每秒钟合并的写请求数量
# r/s:每秒钟完成的读请求数量
# w/s:每秒钟完成的写请求数量
# rsec/s:每秒钟读取的扇区数量
# wsec/s:每秒钟写入的扇区数量
# avgrq-sz:平均请求数据的大小
# avgqu-sz:平均请求队列的长度
# await:平均每次请求的等待时间
# svctm:平均每次请求的服务时间
# util:设备的利用率

    注:建议对照源代码来记忆这些参数都是如何计算出来的。

    关于这些参数,相对重要的是后面几个,具体来说是:util,svctm,await,avgqu-sz:

    util是设备的利用率。如果它接近100%,通常说明设备能力趋于饱和(并不绝对,比如设备有写缓存)。有时候可能会出现大于100%的情况,这多半是计算时四舍五入引起的。

    svctm是平均每次请求的服务时间。这里有一个公式:(r/s+w/s)*(svctm/1000)=util。举例子:如果util达到100%,那么此时svctm=1000/(r/s+w/s),假设IOPS是1000,则svctm大概在1毫秒左右,如果长时间大于这个数值,说明系统出了问题。

    await是平均每次请求的等待时间。这个时间包括了队列时间和服务时间,也就是说,一般情况下,await大于svctm,它们的差值越小,队列时间越短,反之差值越大,队列时间越长,说明系统出了问题。

    avgqu-sz是平均请求队列的长度。毫无疑问,队列长度越短越好,这就不用多做解释了。

    提醒:如果是RAID等多盘系统,iostat结果的参考价值可能有变化,建议查阅相关资料。
分享到:
评论

相关推荐

    Linux下使用iostat监测IO状态

    Linux 下使用 iostat 监测 IO 状态 iostat 是 Linux 系统中一个强大的工具,用于监测和分析 IO 状态。通过 iostat,我们可以获取丰富的 IO 状态数据,从而帮助我们更好地了解系统的性能问题。 基本使用 -------- ...

    如何判断数据库IO是否慢

    一种有效的方法是通过10046 trace file中的level 8或12来获取相关等待事件的信息。响应时间以微秒为单位记录在“ela”字段中。例如: ``` WAIT#5:nam='cellsingleblockphysicalread'ela=672cellhash#=2520626383...

    iostat:像OS这样的Unix的IO统计信息-开源

    使用iostat-1.0.0版本,用户可以获得一个预编译的二进制文件,简化了安装过程。只需将该文件放到系统路径中,即可通过命令行轻松调用。同时,开源特性意味着开发者可以根据自己的需求对iostat进行修改和扩展,以适应...

    磁盘IO占用测试工具

    以下是对磁盘IO占用测试工具及其相关知识点的详细解释: 1. **磁盘I/O**: 磁盘I/O是指计算机通过硬盘驱动器进行数据读取和写入的过程。它是系统性能的关键因素,因为大部分操作都需要与磁盘交互,如程序加载、文件...

    AIX_IO_Tuning

    - `iostat`:用于监控磁盘I/O统计信息,如读写速度、等待时间等。 - `vmstat`:显示虚拟内存统计信息,有助于理解内存使用情况及I/O活动。 - `sar`:记录系统活动并保存到日志文件中,便于事后分析。 - `lssyscfg`:...

    Linux中磁盘IO监控命令.pdf

    在AIX环境下,iostat也有相应的功能,提供关于磁盘利用率、带宽使用等信息。而在进行性能优化时,可以考虑调整数据布局、优化RAID配置、增大驱动程序队列深度、使用缓存技术(如文件系统级或应用级缓存)、利用内存...

    MYSQL常见故障分析

    CPU负载和IO情况,包括磁盘和网络IO,可以通过ps命令和iostat工具来获得详细信息。 具体案例分析方面,例如当系统报告连接池满时,我们可以通过iostat或zdba工具来分析系统状况。对于慢查询日志的分析,可以使用mk-...

    Oracle数据库维护浅谈.pdf

    通过使用vmstat、iostat、sar、top等命令来收集CPU、IO、内存、文件系统和日志的信息。具体地: - 使用vmstat命令监测CPU资源使用情况,如果CPU上运行的任务数持续大于CPU核心数的两倍,或者CPU空闲百分比持续低于...

    SOLARIS 10性能监视工具

    通过这些工具,用户可以获得关于系统硬件的详细信息,这对于排除硬件故障或进行系统维护非常重要。 #### 性能监控工具 除了上述系统配置工具之外,Solaris 10还提供了一系列性能监控工具,这些工具可以帮助用户...

    08 生产经验:在数据库的压测过程中,如何360度无死角观察机器性能.pdf

    3. iostat命令:iostat命令用于监测系统的IO负载,对于数据库压测而言,了解磁盘IO性能至关重要。 五、如何合理增加线程数量 在进行数据库压测时,要逐步增加线程数量以观察数据库的性能变化。应该在保证机器性能...

    ssd+flashcache+sas磁盘性能测试对比

    根据给定文件的信息,我们可以深入探讨SSD、FlashCache与SAS磁盘的性能测试对比,特别是关注IO性能的关键指标,如IOPS(每秒输入/输出操作)、延迟(Latency)以及吞吐量(Throughput)。此外,我们还将探讨不同磁盘...

    LINUXCPU利用率算法android.pdf

    接下来,我们需要重点关注`/proc/stat`文件,它包含了所有CPU活动的数据,从系统启动到现在。这个文件的每一行都代表了一个CPU的核心状态,以`cpuX`开头,其中X是CPU核心的编号。例如,`cpu0`和`cpu1`分别代表两个...

    Linux服务器性能评估与优化

    - **Ps**:列出当前运行的进程及其相关信息。 - **Top**:实时监控系统资源使用情况,特别是进程的状态和资源占用情况。 2. **常用组合方式**: - 使用`vmstat`、`sar`、`iostat`来检测是否存在CPU瓶颈。 - ...

    Linux故障排查方法

    在性能优化过程中,可以调整内核参数、IO调度策略、CPU/Memory绑定、进程/线程调度策略和优先级,以及网络相关参数。例如,使用`numactl`、`taskset`、`Cgroups`、`chrt`、`tuna`、`tuned-adm`等工具进行精细的系统...

    小型机操作手册

    - **iostat**:显示磁盘I/O统计信息,分析磁盘性能和可能存在的I/O问题。 - **netstat**和`entstat`:分别用于查看网络连接状态和网络接口详细信息,确保网络通信正常。 - **no**:展示TCP/IP参数设置,用于网络...

    线上问题调查常用命令

    - **iostat -x -d 1**:每秒报告一次磁盘I/O统计信息。 - **sar -b**:监控磁盘I/O和等待时间。 **4. 网络性能检测** ##### 工具介绍 - **ifconfig**:显示网络配置信息。 - **ping**:测试网络连接性。TTL值表示...

Global site tag (gtag.js) - Google Analytics