https://my.oschina.net/u/3113381/blog/5465063
 

1 sar 命令查看当前磁盘 IO 读写

sar(System Activity Reporter 系统活动情况报告)是 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘 I/O、CPU 效率、内存使用状况、进程活动等。

(1)sar 工具安装

yum install sysstat

(2)sar 查看磁盘 IO 读写情况

# 查看当前磁盘 IO 读写,每 1 秒显示 1 次 显示 10次。
sar -b 1 10

  • tps # 每秒向磁盘设备请求数据的次数,包括读、写请求,为 rtps 与 wtps 的和。出于效率考虑,每一次 IO 下发后并不是立即处理请求,而是将请求合并,这里 tps 指请求合并后的请求计数
  • rtps # 每秒向磁盘设备的读请求次数
  • wtps # 每秒向磁盘设备的写请求次数
  • bread # 每秒从磁盘读的 bytes 数量
  • bwrtn # 每秒向磁盘写的 bytes 数量

2 iotop 命令查看磁盘 IO 性能

iotop 命令是一个用来监视磁盘 I/O 使用状况的工具。iotop 是进程级别 IO 监控。

(1)iotop 工具安装

yum install iotop

(2)iotop 的常用用例

  • iotop -o # 只显示正在产生 IO 的进程或线程;
  • iotop -d 3 -n 5 # 时间间隔 3 秒,输出 5 次;
  • iotop -botq -p 8382 # 输出 pid 为 8382 的进程 IO 情况

(3)iotop 可选参数说明

Options:
--version show program's version number and exit
-h, --help show this help message and exit
-o, --only only show processes or threads actually doing I/O
-b, --batch non-interactive mode
-n NUM, --iter=NUM number of iterations before ending [infinite]
-d SEC, --delay=SEC delay between iterations [1 second]
-p PID, --pid=PID processes/threads to monitor [all]
-u USER, --user=USER users to monitor [all]
-P, --processes only show processes, not all threads
-a, --accumulated show accumulated I/O instead of bandwidth
-k, --kilobytes use kilobytes instead of a human friendly unit
-t, --time add a timestamp on each line (implies --batch)
-q, --quiet suppress some lines of header (implies --batch)

3 磁盘性能压测工具 fio

(1)fio 工具安装

 yum install fio

(2)IOPS 压测示例

  • (/data/test 这个是压测数据读写目录)
fio -directory=/data/test -direct=1 -iodepth 10 -thread -rw=randwrite -ioengine=psync -bs=4k -size=2G -numjobs=10 -runtime=180 -group_reporting -name=rand_write

(3)带宽压测

  • (/data/test 这个是压测数据读写目录)
fio -directory=/data/test -direct=1 -iodepth 10 -thread -rw=randwrite -ioengine=psync -bs=4096k -size=2G -numjobs=10 -runtime=180 -group_reporting -name=rand_write

4 iostat 的常用用例

iostat 是系统级别的 IO 监控,而 iotop 是进程级别 IO 监控。

iostat -d -k 1 10          #查看TPS和吞吐量信息(磁盘读写速度单位为KB)
iostat -d -m 2 #查看TPS和吞吐量信息(磁盘读写速度单位为MB)
iostat -d -x -k 1 10 #查看设备使用率(%util)、响应时间(await)
iostat -c 1 10 #查看cpu状态

5 简单验证磁盘是否故障

在目标磁盘上 touch 一个空文件看看,是否磁盘故障导致无法写入。

6 查看文件属于哪个盘

查看文件属于哪个盘

df /data/

7 附录

sar使用:https://www.cnblogs.com/zcx-python/p/9001630.html
iostat 使用:https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858810.html
IO测试工具之fio详解:https://www.cnblogs.com/raykuan/p/6914748.html

8 小结

磁盘 IO 性能监控 / 压测工具常用的有 sar、iotop、fio、iostat 。这篇文章只是简单记录涉及相关命令的使用,不做过多详细的深入使用实践说明,只是起到一个简单的抛砖引玉。

[转帖]018 磁盘 IO 性能监控 / 压测工具 (sar、iotop、fio、iostat)的更多相关文章

  1. 018 磁盘 IO 性能监控/压测工具(sar、iotop、fio、iostat)

    1 sar 命令查看当前磁盘 IO 读写 sar(System Activity Reporter 系统活动情况报告)是 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告 ...

  2. 磁盘IO性能监控(Linux 和 Windows)

    磁盘IO性能监控(Linux 和 Windows) 作者:终南   <li.zhongnan@hotmail.com> 磁盘的IO性能是衡量计算机总体性能的一个重要指标.Linux提供了i ...

  3. Linux如何查看与测试磁盘IO性能

    1. 查看磁盘 IO 性能 1.1 top 命令 top 命令通过查看 CPU 的 wa% 值来判断当前磁盘 IO 性能,如果这个数值过大,很可能是磁盘 IO 太高了,当然也可能是其他原因,例如网络 ...

  4. 转载 IMP时数据库的IO性能监控,并提供IOPS的计算方法

     IMP时数据库的IO性能监控,并提供IOPS的计算方法 2011-07-15 17:36:10 分类: Linux [root@ntkdb oradata]# iostat -x 1 10     ...

  5. MySQL 性能压测工具-sysbench,从入门到自定义测试项

    sysbench是一个开源的.基于LuaJIT(LuaJIT 是 Lua 的即时编译器,可将代码直接翻译成机器码,性能比原生 lua 要高) 的.可自定义脚本的多线程基准测试工具,也是目前用得最多的 ...

  6. 《深入理解Java虚拟机》(四)虚拟机性能监控与故障处理工具

    虚拟机性能监控与故障处理工具 详解 4.1 概述 本文参考的是周志明的 <深入理解Java虚拟机> 第四章 ,为了整理思路,简单记录一下,方便后期查阅. JDK本身提供了很多方便的JVM性 ...

  7. [SCF+wetest+jmeter]简单云性能压测工具使用方案

    前言 压测太难?局域网压力无法判断服务器网络指标?无法产生非常大的并发量?云性能太贵? 也许我们可以把各种简单的工具拼起来进行压力测试! 准备 https://cloud.tencent.com/pr ...

  8. jvm性能监控与故障处理工具

    jdk为我们提供了一系列的jvm性能监控和故障处理工具,在这里根据学习进度进行整理记录.便于之后查阅 1.jps 虚拟机进程工具  类似于Linux系统中的ps命令,用于查看虚拟机进程,常用的有以下功 ...

  9. 第八章 JVM性能监控与故障处理工具(2)

    注意:该篇博客主要记录自<深入理解java虚拟机(第二版)> 说明:关于命令行的JVM性能监控与故障处理工具见<第七章 JVM性能监控与故障处理工具(1)> 1.图像化的故障处 ...

  10. java虚拟机之性能监控与故障处理工具

    sun jdk性能监控与故障处理工具 jps: 可以列出正在运行的虚拟机进程,并显示虚拟机执行主类名称以及这些进程的本地虚拟机唯一id. jstat: 用于监视虚拟机各种运行状态信息的命令航工具.它可 ...

随机推荐

  1. MySQL篇:第六章_详解mysql视图

    周末有朋友来上海没来得及更新,特此更两篇以正身 视图 含义:理解成一张虚拟的表 视图和表的区别: 使用方式 占用物理空间 视图 完全相同 不占用,仅仅保存的是sql逻辑 表 完全相同 占用 视图的好处 ...

  2. 第九部分_Shell脚本之case语句

    case语句 关键词:确认过眼神,你是对的人 case语句为多重匹配语句 如果匹配成功,执行相匹配的命令 1. 语法结构 说明:pattern表示需要匹配的模式 case var in #定义变量;v ...

  3. 华为云云容器引擎CCE产品文档带来4个升级,降低使用难度

    本文分享自华为云社区<华为云云容器引擎CCE产品文档优化升级!>,作者: 云容器大未来 . 云原生产品技术栈庞大,需要用户对容器.Kubernetes等核心技术都有扎实的理解和掌握:同时问 ...

  4. CoralCache:一个提高微服务可用性的中间件

    摘要:当数据库出问题时能降级从本地缓存的数据中查询数据,CoralCache就是这样一个提高微服务可用性的中间件. 背景 有些场景下,微服务依赖数据库中一些配置项或者数量很少的数据,但当数据库本身有问 ...

  5. 代码混淆工具ipaguard:如何使用ipaguard保护和混淆iOS应用程序代码

    ​ 转载:怎么保护苹果手机移动应用程序ios ipa文件中的代码? 目录 转载:怎么保护苹果手机移动应用程序ios ipa文件中的代码? 代码混淆步骤 1. 选择要混淆保护的ipa文件 2. 选择要混 ...

  6. npm 新型定时攻击或导致软件供应链安全风险

    原标题: New npm timing attack could lead to supply chain attacks 原文链接: https://www.bleepingcomputer.com ...

  7. Python 太难懂?火山引擎数智平台这款产品可以了解一下!

      更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 「自学 Python?一般人我还是劝你算了吧!」 在国内知识分享平台「知乎」上,这一吐槽话题获得了超过 260 ...

  8. Python 批量制作缩略图

    本来想网上下个软件处理下的,给我加了水印,不然就让我升会员,程序员都是薅人家羊毛,哪能被人家薅羊毛 1. 安装组件 (指定国内源,速度快些),带上版本号,最新版本会卡在 XXX(PEP 517) 上. ...

  9. 低风险稳健策略:BTC套利策略

    更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流. 币安零手续费带来的机会 从7月8日的20点开始,币安推出了BTC现货交易零手续费的优惠活动,不论是Mak ...

  10. java编译期和运行期和string原理

     编译期:   是指把源码交给编译器编译成计算机可以执行的文件的过程.在Java中也就是把Java代码编成class文件的过程.编译期只是做了一些翻译功能,并没有把代码放在内存中运行起来,而只是把代码 ...