未加星标

[原]linux系统性能监控--I/O利用率

字体大小 | |
[系统(linux) 所属分类 系统(linux) | 发布者 店小二05 | 时间 2016 | 作者 红领巾 ] 0人收藏点击收藏

尽管整体的处理器速度、 内存大小以及 I/O 执行速度在不断提高,但 I/O 操作的吞吐率和延迟性能仍然要比等价的内存访问操作低多个数量级。另外,由于许多工作负荷都拥有重要的 I/O 组件, I/O 处理很容易成为整体吞吐率和应用整体响应时间的重要瓶颈。针对 I/O 操作密集的应用, 性能分析人员必须通过工具来获取关于 I/O 子系统操作的信息 。

磁盘 I/O 的性能经常基于吞吐率和延迟来评估。 磁盘驱动器对大型顺序传输的处理常常远优于小型随机传输操作。对大型顺序传输操作可以进行优化例如预读技术或延迟写技术,存储系统还能够尽量减少磁头移动并执行全磁道写操作。然而, 许多应用都需要访问存储介质中位于毫无关联且经常难以预测的地址上的数据。因此,各种工作负荷的 I/O 模式常常是顺序 I/O 和随机 I/O 的混合体,并且执行各种尺寸的块传输操作 。
尽管系统监视工具并不提供对特定应用执行的所有 I/O 操作都进行跟踪的能力,但有些性能监视工具允许性能分析人员监视系统处理的 I/O 操作总数、每个逻辑磁盘驱动器的 I/O 操作数目,以及整体的 I/O 传输率。下面几节主要讨论 iostat(1) 和 sar(1) 两种工具。可以使用这些性能监视工具来理解 I/O 瓶颈位于何处、哪些磁盘或互连结构未被充分利用,以及从系统角度来显示的延迟大小 ( 相对于应用的角度 ) 。
在 分析特定工具之前,应记住存在着许多可以提高 I/O 性能的技术。 这些技术包括纯硬件相关的解决方案 ( 例如使用每分钟具有更高转速的磁盘驱动器, 从而提供了更低的 I/O 延迟、 更大的磁盘 cache 容量或 I/O 控制器 cache 容量 ) 。 这些技术也包括改进读写操作的数据传输率,以及提高 I/O 总线速度或 I/O 互连结构的速度,这两者都可以提高数据传输率并减少 I/O 延迟。一些磁盘驱动器和磁盘存储子系统还提供了多端口的逻辑或物理磁盘,从而允许单个磁盘发出的并行 I/O 操作,这也提高了潜在的 I/O 吞吐率。另外, 硬件和软件 RAID(RedundantArray of Independent Disks) 被设计为通过在多个磁盘驱动器上对数据进行分条处理来提高访问并行性。
一、iostat

iostat 命令监视系统的 I/O 活动, 检查物理磁盘就平均传输率而言处于活跃状态之中的时间长度。该命令生成的报告可用于修改系统配置以便更好地平衡物理磁盘之间的 I/O 负荷。 iostat(1) 还提供了有助于直接与 I/O 活动进行比较的 CPU 利用率。如果对显示时间间隔未作规定的话, 则 iostat 显示系统自从上次启动以来的 I/O 信息; 否则, 第一组输出 显示系统自从启动以来的全部活动信息,而后续的输出内容只显示活动变化信息。

linux 2.6.32-431.el6.x86_64 (V-02-01-00858) 10/17/16 _x86_64_ (2 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 8.17 0.00 9.93 0.17 0.00 81.72 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 2.66 29.02 128.08 12995558 57356144 dm-0 1.49 14.21 6.98 6362394 3127808 dm-1 2.52 1.75 18.45 783408 8260336 dm-2 12.99 13.05 102.65 5843266 45967960 [[email protected] ~]$ iostat 报告的 CPU 利用信息类似于 top 工具所提供的内容。 它将 CPU 时间划分成用户、 nice 、 系统、 I/O 等待以及系统空闲等 5 个部分 ,之后给出磁盘利用情况的报告。磁头信息后跟随着多行磁盘统计信息,其中每行报告一个已配置的逻辑磁盘的活动情况。 tps 列表示发至逻辑磁盘的 I/O 请求数,但没有给出 I/O 请求的大小。 Blk_read/s 和 Blk_wrtn/s 表示读写该逻辑驱动器的数据量,以每秒的块数为单位,但也未给出块大小设置。 Blk_read 和 Blk_wrtn

分别对应于读写该逻辑驱动器的数据量,以每秒的块数为单位,但没有指定块大小。

选项

-k 以千字节为单位显示统计数据, 选项 -p 可以获取每个分区的统计数据, 选项 -x 可以获得诸如平均等待时间和平均服务时间等信息。

二、sar

sar 收集并报告操作系统中的大量系统活动, 包括 I/O 操作、 CPU

利用情况、 上下文切换和中断速率、 页换入和页换出的速率, 以及共享内存、

缓冲区和网络的使用情况。基于数量和时间间隔参数的取值,

sar 在以秒为单位的指定时间间隔内执行指定次数的输出信息操作。 例如命令 sar -b 3 12 表示每隔 3s 报告磁盘使用情况, 总共运行 12 秒。另外,在数据采集结束后,给出了统计平均数据。 sar 是一个具有丰富选项的工具。 [[email protected] ~]$ sar -b 3 12 Linux 2.6.32-431.el6.x86_64 (V-02-01-00858) 10/17/16 _x86_64_ (2 CPU) 18:35:30 tps rtps wtps bread/s bwrtn/s 18:35:33 30.32 0.00 30.32 0.00 271.48 18:35:36 7.38 0.00 7.38 0.00 88.56 18:35:39 7.22 7.22 0.00 635.38 0.00 18:35:42 23.47 0.00 23.47 0.00 225.27 18:35:45 0.00 0.00 0.00 0.00 0.00 18:35:48 74.82 0.00 74.82 0.00 1145.32 18:35:51 115.87 0.00 115.87 0.00 1741.70 18:35:54 0.00 0.00 0.00 0.00 0.00 18:35:57 17.92 0.00 17.92 0.00 223.66 18:36:00 0.00 0.00 0.00 0.00 0.00 18:36:03 7.64 0.00 7.64 0.00 87.27 18:36:06 569.04 0.00 569.04 0.00 8694.66 Average: 71.87 0.60 71.26 53.12 1050.89

sar 显示 I/O 统计数据的方式类似于 iostat , 可以提供 I/O 操作的总次数 (tps) , 并将其进一步分为读操作 (rtps) 和写操作 (wtps) ;还给出读写操作速率 (bread/s 和 bwrtn/s) 。 以下数据每隔 2s 采集一次,总共运行 18s 。在数据采集结束后,计算出这 5 个域的平均值,但并未给出具体逻辑驱动器的操作。

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

分页:12
转载请注明
本文标题:[原]linux系统性能监控--I/O利用率
本站链接:http://www.codesec.net/view/483906.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(30)