Show Table of Contents
5.2. 性能问题监控和诊断
红帽企业版 Linux 7 提供一些工具,这些工具有助于监控系统性能和诊断与 I/O、文件系统及其配置相关性能问题。此章节概述可用的工具,并列举如何使用这些工具监控和诊断与 I/O 及文件系统相关的性能问题的例子。
5.2.1. 使用 vmstat 监控系统性能
Vmstat 报告整个系统的进程、内存、分页、阻止 I/O、中断和 CPU 活动。它能帮助管理员决定 I/O 子系统是否对任何性能问题负责。
下列是与 I/O 性能最相关的信息:
- si
- 切换进硬盘,或者以 KB 为单位写入交换空间。
- so
- 从硬盘中切换出,或者以 kb 为单位从交换空间读取。
- bi
- 写入块,或者以 kb 为单位阻止写操作。
- bo
- 读取块,或者以 kb 为单位阻止读操作。
- wa
- 等待 I/O 操作完成的队列部分。
交换空间和数据在同一设备上时,而且是内存使用指示器,切换进硬盘和从硬盘中切换出尤为有用。
另外,空闲、缓存和缓存列能帮助识别回写频率。缓存值突然下降和空闲值的增加表明回写和页面缓存无效。
如果使用 vmstat 的分析显示 I/O 子系统对性能下降负责,管理员可用 iostat 确定承担责任的 I/O 设备。
vmstat 由软件包 procps-ng 提供。更多使用 vmstat 的信息,请参见手册页:
$ man vmstat
5.2.2. 使用 iostat 监控 I/O 性能
Iostat 是由 sysstat 软件包提供的。它报告加载在您系统中的 I/O 设备。如果使用 vmstat 的分析显示 I/O 子系统对性能下降负责,您可以使用 iostat 来确定负责的 I/O 设备。
您可以使用 iostat 手册页中定义的参数,将 iostat 报告的输出集中在特定设备上。
$ man iostat
5.2.2.1. 使用 blktrace 详细说明 I/O 分析
Blktrace 提供 I/O 子系统上时间如何消耗的详细信息。配套工具 blkparse 从 blktrace 读取原始输出,并产生人们可读的输入和输出操作摘要,该摘要由 blktrace 记录。
更多此工具的细节请参见手册页:
$ man blktrace
$ man blkparse
5.2.2.2. 用 btt 分析 blktrace 输出
Btt 作为 blktrace 软件包的一部分而被提供。它分析 blktrace 输出,并显示该数据用在每个 I/O 栈区域的时间量,使它更容易在 I/O 子系统中发现瓶颈。
例如,如果 btt 显示发送至块层(
Q2Q)的请求之间的时间比用于块层(Q2C)的请求之间的总时间长,那么 I/O 子系统可能不对性能问题负责。如果设备花了很长时间处理请求(D2C),该设备可能超载,或者发送给该设备的工作负载可能不是最佳的。如果块 I/O 队列等待很长时间,请求(Q2G)才分配给块 I/O 队列,这可能表明正在使用的存储不能够为 I/O 负载提供服务。
更多此工具的细节请参见手册页:
$ man btt
5.2.2.3. 使用 seekwatcher 分析 blktrace 输出
seekwatcher 工具可使用 blktrace 输出随时间绘制 I/O 图表。它集中在硬盘 I/O 的 LBA(逻辑块地址)、每秒以兆计算的吞吐量、每秒搜寻的数量和每秒 I/O 操作。这能帮助您了解何时达到设备操作系统每秒的限制。
更多此工具的细节请参见手册页:
$ man seekwatcher
5.2.3. 使用 SystemTap 监控存储
《红帽企业版 Linux 7 SystemTap 入门指南》 包含几个有助于配置和监控存储性能的示例脚本。
下列的 SystemTap 示例脚本与存储性能有关,并可能有助于诊断存储或文件系统性能问题。默认设置下,安装它们至
/usr/share/doc/systemtap-client/examples/io 目录下。
disktop.stp- 每 5 秒检查读/写硬盘状态并输出在此期间的前十项。
iotime.stp- 显示用在读操作和写操作的时间量,以及读和写的字节量。
traceio.stp- 根据观察到的累计 I/O 流,显示每秒前十项可执行文件。
traceio2.stp- 在特定设备进行读和写操作时,显示可执行的名称和进程标识符。
inodewatch.stp- 每当在特定主要/次要设备上的特定 inode 上进行读或者写操作时,显示可执行的名称和进程标识符。
inodewatch2.stp- 每当在特定主要/次要设备上的特定 inode 上属性发生变化时,显示将可执行的名称、进程标识符、和属性。
《红帽企业版 Linux 7 SystemTap 入门指南》可在网站中查找 http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.