美文网首页
第六章 性能工具:磁盘I/O

第六章 性能工具:磁盘I/O

作者: super_pcm | 来源:发表于2019-08-07 18:11 被阅读0次

6.1 磁盘I/O介绍

一般来说,Linux磁盘的每个分区要么包含一个文件系统,要么包含一个交换分区。这些分区被挂载到Linux根文件系统,该系统由/etc/fstab指定。这些被挂载的文件系统包含了应用程序要读写的文件。

当一个应用程序进行读写时,Linux内核可以在其高速缓存或者缓冲区中保存文件的副本,并且可以在不访问磁盘的情况下返回被请求的信息。但是,如果Linux内核没有在内存中保存数据副本,那它就向磁盘I/O队列添加一个请求。若Linux内核注意到多个请求都指向磁盘内相邻的区域,它会把它们合并为一个大的请求。这种合并能消除第二次请求的寻道时间,以此提高磁盘的整体性能。当请求被放入磁盘队列,而磁盘当前不忙时,它就开始为I/O请求服务。如果磁盘正忙,则请求就在队列中等待,直到该设备可用,请求将被服务。

6.2 磁盘I/O性能工具

6.2.1 vmstat

语法:

vmstat [-D] [-d] [-p partition] [interval count]

vmstat选项说明

选项 说明
-D 显示Linux I/O子系统的统计信息,显示的是系统启动以来的总信息
-d 按每interval一个样本的速率显示单个磁盘的统计数据,显示的是系统启动以来的总信息。
-p partition 按照每interval一个采样的速率显示给定分区性能统计数据,显示的是系统启动以来的总信息。
interval 采样之间的频率
count 所取的样本总数

vmstat默认显示的信息:

vmstat –D 显示的信息

部分统计信息说明

输出 说明
disks 系统中磁盘的总数
partitions 系统中分区的总数
total reads 读请求的总数
merged reads 为了提升性能而被合并的不同读请求的数量,这些读请求访问的是磁盘上的相邻位置。
writes 写请求的总数
inprogress IO 当前正在处理的I/O总数

vmstat –d部分统计信息说明

输出 说明
reads:total 读请求的总数
reads:merged 为了提升性能而被合并的不同读请求的数量
reads:sectors 从磁盘读取的扇区的总数
ms 磁盘读所花费的时间

vmstat –d 显示的信息:

image

6.2.2 iostat

与vmstat相似,但它是一个专门用于显示磁盘I/O子系统统计信息的工具。iostat提供的信息细化到每个设备和每个分区从特定磁盘读写了多少个块。此外,iostat还可以提供大量的信息来显示磁盘是如何被利用的,以及Linux花费了多长时间来等待将请求提交到磁盘。

iostat命令行选项

选项 说明
-d 只显示磁盘I/O的统计信息,而不是默认信息。
-k 按KB显示统计数据,而不是按块显示
-x 显示拓展性能I/O统计信息
device 若指定设备,则iostat只显示该设备的信息

iostat设备统计信息

输出 说明
tps 每秒传输次数,该项为每秒对设备/分区读写请求的次数
Blk_read/s 每秒读取磁盘块的速率
Blk_wrtn/s 每秒写入磁盘块的速率
Blk_read 在时间间隔内读取块的总数量
Blk_wrtn 在时间间隔内写入块的总数量

iostat –d 显示:

6.2.3 sar

6.2.4 lsof

lsof提供了一种方法来确定哪些进程打开了一个特定的文件,除了跟踪单个文件的用户外,lsof还可以显示使用了特定目录下的进程。

语法

**lsof [-r   delay] [+D directory] [+d directory] [file]**

lsof命令选项说明

选项 说明
r delay 使得lsof每间隔delay秒输出一次统计数据
D directory 使得lsof递归搜索给定目录下的所有文件,并报告哪些进程正在使用
d directory 使得lsof报告哪些进程正在使用给定目录下的文件

lsof显示访问了/usr/bin下所有文件的进程

相关文章

  • Linux性能调优

    当遇到 I/O 性能问题时,可以使用 iostat、iotop、 blktrace 等工具分析磁盘 I/O 的瓶颈...

  • 高可用架构 - 系统性能评估

    性能评估的要点 CPU 主要工具:vmstat 内存 主要工具:free 磁盘I/O 主要工具:iostat、sa...

  • 第六章 性能工具:磁盘I/O

    6.1 磁盘I/O介绍 一般来说,Linux磁盘的每个分区要么包含一个文件系统,要么包含一个交换分区。这些分区被挂...

  • 关于redoLog的特点和优化(非DBA视角)

    1.Redo log特点 重做日志以磁盘I/O为主,将数据库操作记录到日志文件。(磁盘I\O性能有可能成为瓶颈) ...

  • 磁盘性能监控

    常见磁盘类型及其IOPS 查看型号 性能监控 blktrace 硬件参数 定义顺序和随机I/O操作 如果I/O操作...

  • Linux性能优化之I/O篇

    我们可以先用iostat确认磁盘出现I/O性能瓶颈,然后用pidstat找出I/O最大的进程,接着借助strace...

  • JavaWeb之四——IO调优

    磁盘IO调优 网络I/O调优 磁盘IO调优 性能检测 注: IO wait= (cpu idle time)/(a...

  • Linux 磁盘I/O基础知识总结

    本文用于对一些基础磁盘I/O知识的总结。 目录索引 磁盘I/O那些事 总结思维导图 磁盘I/O学习笔记 磁盘I/O...

  • 辩证看待 iostat

    前言 经常做系统分析会接触到很多有用的工具,比如 iostat,它是用来分析磁盘性能、系统 I/O 的利器。 本文...

  • 进程实时监控工具iotop推荐

    功能:监视磁盘I/O使用状况的top类工具,具有与top相似的UI,其中包括PID、用户、I/O、进程等相关信息。...

网友评论

      本文标题:第六章 性能工具:磁盘I/O

      本文链接:https://www.haomeiwen.com/subject/hlyadctx.html