# iostat -x 1
avg-cpu: %user %nice %sys %idle
16.24 0.00 4.31 79.44
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
/dev/cciss/c0d0
0.00 44.90 1.02 27.55 8.16 579.59 4.08 289.80 20.57 22.35 78.21 5.00 14.29
/dev/cciss/c0d0p1
0.00 44.90 1.02 27.55 8.16 579.59 4.08 289.80 20.57 22.35 78.21 5.00 14.29
/dev/cciss/c0d0p2
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
上面的 iostat 输出表明秒有 28.57 次设备 I/O 操作: 总IO(io)/s = r/s(读) +w/s(写) = 1.02+27.55 = 28.57 (次/秒) 其中写操作占了主体 (w:r = 27:1)。
平均每次设备 I/O 操作只需要 5ms 就可以完成,但每个 I/O 请求却需要等上 78ms,为什么? 因为发出的 I/O 请求太多 (每秒钟约 29 个),假设这些请求是同时发出的,那么平均等待时间可以这样计算:
平均等待时间 = 单个 I/O 服务时间 * ( 1 + 2 + ... + 请求总数-1) / 请求总数
应用到上面的例子: 平均等待时间 = 5ms * (1+2+...+28)/29 = 70ms,和 iostat 给出的78ms 的平均等待时间很接近。这反过来表明 I/O 是同时发起的。
每秒发出的 I/O 请求很多 (约 29 个),平均队列却不长 (只有 2 个 左右),这表明这 29 个请求的到来并不均匀,大部分时间 I/O 是空闲的。
一秒中有 14.29% 的时间 I/O 队列中是有请求的,也就是说,85.71% 的时间里 I/O 系统无事可做,所有 29 个 I/O 请求都在142毫秒之内处理掉了。
delta(ruse+wuse)/delta(io) = await = 78.21 => delta(ruse+wuse)/s =78.21 * delta(io)/s = 78.21*28.57 = 2232.8,表明每秒内的I/O请求总共需要等待2232.8ms。所以平均队列长度应为 2232.8ms/1000ms = 2.23,而 iostat 给出的平均队列长度 (avgqu-sz) 却为 22.35,为什么?! 因为 iostat 中有 bug,avgqu-sz 值应为 2.23,而不是 22.35。
分享到:
相关推荐
### Linux下查看系统性能命令详解 #### 一、系统基本信息 **1.1 查看内核版本** - **命令:** `uname -a` - **作用:** 显示当前系统的内核版本信息。 **1.2 查看系统发行版** - **命令:** `head -n 1 /etc/issue` ...
Linux命令详解手册是一本适合Linux新手和有一定基础的用户深入学习Linux命令的指南。它详细介绍了大量的Linux命令,涵盖了系统管理、系统设置、文档编辑以及压缩备份等多个方面的操作。掌握这些命令对于理解和使用...
"Linux top 命令详解" Linux top 命令是 Linux 下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于 Windows 的任务管理器。下面详细介绍它的使用方法。 认识 top 的显示结果 --------------...
Linux系统命令是运维人员在日常工作中必不可少的工具,它们用于管理和维护Linux系统、自动化任务、监控系统状态等众多任务。从给定的文件内容来看,文件提到了许多常用的Linux命令,并且每个命令都有其特定的用途和...
"Linux命令详解手册"提供了全面的命令指南,帮助用户理解和运用各种命令来高效地操作Linux系统。下面将详细阐述Linux命令的主要类别及其重要用途。 1. 文件和目录管理: - `ls`:列出目录内容,常用于查看当前目录...
《Linux性能调优命令详解——以iostat为例》 在Linux系统管理中,性能调优是一项至关重要的任务,它关乎系统的稳定性和效率。其中,iostat是一个强大的工具,用于监控和分析系统的I/O性能。本文将深入探讨iostat...
"Linux编程命令详解"这本书深入浅出地介绍了Linux系统中的常用命令,是程序员进阶必备的参考资料。以下是根据标题、描述以及标签提炼出的一些关键知识点: 1. **Linux基础**:Linux是一种类Unix操作系统,它基于...
在Linux系统中,`free`命令是一个非常实用的工具,用于查看系统内存的状态,包括物理内存(RAM)和交换空间(Swap)。通过分析`free`命令的输出,我们可以获取到系统内存使用的详细信息,这对于系统管理员监控和优化...
本文将基于"Linux菜鸟过关+Linux程序指南+Linux系统命令及使用详解"的主题,深入探讨Linux的基础知识、常用命令以及程序开发。 首先,我们要了解Linux的基本概念。Linux是一种自由开放源码的操作系统,其内核由...
在Linux系统中,管理IBM的db2数据库通常涉及一系列的命令行操作。本文将深入解析如何使用这些命令来重启db2数据库,同时介绍一些相关的常用命令。 首先,重启db2数据库之前,必须确保没有任何应用程序正在与数据库...
### Linux系统性能测试关键知识点详解 #### 一、性能监控工具与目录 在Linux系统中进行性能测试,有几个核心的工具和目录是必不可少的。这些工具可以帮助我们深入了解系统的运行状态,包括CPU使用率、内存使用情况...
通过学习"嵌入式Linux系统开发技术详解--基于ARM(完整版)"和"跟我一起写Makefile",开发者可以系统地掌握嵌入式Linux开发的各个环节,从硬件平台选择到软件系统构建,再到项目的自动化构建管理,全面提升在嵌入式...
7. 系统监控与性能调优:系统监控工具(如vmstat, iostat, free)和性能调优工具(如nice, ionice, tuning)可以帮助用户了解系统状态并优化系统性能。 8. 高级脚本工具:对于需要进行自动化任务的用户,可以使用...
Linux系统中的`scp`命令是安全复制(Secure Copy)的缩写,它是基于SSH协议的安全文件复制工具。在Linux环境中,`scp`命令被广泛用于在本地与远程主机之间安全地复制文件和目录,尤其在需要保持数据传输隐私和安全性...
通过以上这些命令,Linux系统管理员可以方便地获取和分析硬件资源的使用状况,这对于系统的维护和性能优化非常有用。在日常工作中,熟练掌握这些命令能够提高工作效率,及时发现并解决硬件相关的问题。
关于 top 命令的详细说明请参看 使用top命令分析linux系统性能的详解 这篇文章。 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器;不过这里我们主要是...
使用场景及目标:通过阅读本文,读者可以深入了解Linux操作系统的特性和优势,掌握基本的命令操作,从而更好地管理和维护Linux系统。 阅读建议:建议在实际环境(如虚拟机)中边读边练,逐步熟悉和掌握Linux的各项...