我的编程空间,编程开发者的网络收藏夹
学习永远不晚

IO实时监控命令iostat的介绍

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

IO实时监控命令iostat的介绍

本篇内容介绍了“IO实时监控命令iostat的介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

iostat用于输出CPU和磁盘I/O相关的统计信息

命令格式

iostat [ -c ] [ -d ] [ -h ] [ -N ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -z ] [ device [...] | ALL ] [ -p [ device [,...] | ALL ] ] [ interval [ count ] ]

iostat各个参数的说明

 -c 仅显示CPU统计信息.与-d选项互斥. -d 仅显示磁盘统计信息.与-c选项互斥. -k 以K为单位显示每秒的磁盘请求数,默认单位块. -p device | ALL  与-x选项互斥,用于显示块设备及系统分区的统计信息.也可以在-p后指定一个设备名,如:  # iostat -p hda  或显示所有设备  # iostat -p ALL -t    在输出数据时,打印搜集数据的时间. -V    打印版本号和帮助信息. -x    输出扩展信息.

iostat的简单使用

[sdk_test@ssdk1 server]$ iostatLinux 2.6.32-431.11.15.el6.ucloud.x86_64 (ssdk1)     10/14/2016     _x86_64_    (4 CPU)avg-cpu:  %user   %nice %system %iowait  %steal   %idle           0.44    0.00    0.26    0.01    0.01   99.29Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtnvda               0.66         0.09         6.75    1404732  105885456vdb               1.42        12.47        55.86  195619082  876552296

解释一下各个输出项的含义:

avg-%%%%iowait: CPU等待硬件I/%///

入门使用

iostat -d -k 2 10

参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;2表示,数据显示每隔2秒刷新一次。10表示一共刷新10次.

[sdk_test@ssdk1 server]$ iostat -d -k 2Linux 2.6.32-431.11.15.el6.ucloud.x86_64 (ssdk1)     10/14/2016     _x86_64_    (4 CPU)Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtnvda               0.66         0.04         3.37     702366   52944164vdb               1.42         6.23        27.93   97809545  438300324Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtnvda               2.00         0.00         8.00          0         16vdb               2.00         0.00        24.00          0         48Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtnvda               0.00         0.00         0.00          0          0vdb               0.00         0.00         0.00          0          0Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtnvda               0.50         0.00         2.00          0          4vdb               0.00         0.00         0.00          0          0Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtnvda               0.00         0.00         0.00          0          0vdb               2.50         0.00        92.00          0        184

输出项的意义:

tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。"一次传输"意思是"一次I/O请求"。多个逻辑请求可能会被合并为"一次I/O请求"。"一次传输"请求的大小是未知的。kB_read/s:每秒从设备(drive expressed)读取的数据量;kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;kB_read:读取的总数据量;kB_wrtn:写入的总数量数据量;这些单位都为Kilobytes。

指定监控的设备名称为vda,该命令的输出结果和上面命令完全相同

默认监控所有的硬盘设备,现在指定只监控vda。

iostat -d vda 2

扩展使用-X参数

iostat还有一个比较常用的选项-x,该选项将用于显示和io相关的扩展数据。

[sdk_test@ssdk1 server]$ iostat -d -x -k 1 10Linux 2.6.32-431.11.15.el6.ucloud.x86_64 (ssdk1)     10/14/2016     _x86_64_    (4 CPU)Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %utilvda               0.00     0.19    0.00    0.65     0.04     3.37    10.41     0.00    0.78   0.41   0.03vdb               0.00     5.85    0.29    1.13     6.23    27.93    48.06     0.00    1.44   0.41   0.06Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %utilvda               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00vdb               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %utilvda               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00vdb               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00

输出项的意义:

rrqm/s:每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge);wrqm/s:每秒这个设备相关的写入请求有多少被Merge了。rsec/s:每秒读取的扇区数;wsec/s:每秒写入的扇区数。rKB/s:The number of read requests that were issued to the device per second;wKB/s:The number of write requests that were issued to the device per second;avgrq-sz 平均请求扇区的大小avgqu-sz 是平均请求队列的长度。毫无疑问,队列长度越短越好。    await:  每一个IO请求的处理的平均时间(单位是微秒毫秒)。这里可以理解为IO的响应时间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。         这个时间包括了队列时间和服务时间,也就是说,一般情况下,await大于svctm,它们的差值越小,则说明队列时间越短,反之差值越大,队列时间越长,说明系统出了问题。svctm    表示平均每次设备I/O操作的服务时间(以毫秒为单位)。如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长,         系统上运行的应用程序将变慢。%util: 在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。

常见用法

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状态

实例分析

ostat -d -k 1 |grep sda10Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtnsda10            60.72        18.95        71.53  395637647 1493241908sda10           299.02      4266.67       129.41       4352        132sda10           483.84      4589.90      4117.17       4544       4076sda10           218.00      3360.00       100.00       3360        100sda10           546.00      8784.00       124.00       8784        124sda10           827.00     13232.00       136.00      13232        136

上面看到,磁盘每秒传输次数平均约400;每秒磁盘读取约5MB,写入约1MB。

iostat -d -x -k 1Device:    rrqm/s wrqm/s   r/s   w/s  rsec/s  wsec/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %utilsda          1.56  28.31  7.84 31.50   43.65    3.16    21.82     1.58     1.19     0.03    0.80   2.61  10.29sda          1.98  24.75 419.80  6.93 13465.35  253.47  6732.67   126.73    32.15     2.00    4.70   2.00  85.25sda          3.06  41.84 444.90 54.08 14204.08 2048.98  7102.04  1024.49    32.57     2.10    4.21   1.85  92.24

可以看到磁盘的平均响应时间<5ms,磁盘使用率>80。磁盘响应正常,但是已经很繁忙了。

“IO实时监控命令iostat的介绍”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

IO实时监控命令iostat的介绍

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

IO实时监控命令iostat的介绍

本篇内容介绍了“IO实时监控命令iostat的介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!iostat用于输出CPU和磁盘I/O相关的
2023-06-05

基于JVM性能监控命令介绍

jps:JVM Process StatusTool,显示指定系统内所有的HotSpot虚拟机进程jstat:JVM Statistics Monitoring Tool,用于手机HotSpot虚拟机各方面的运行数据jinfo: Confi
2023-05-31

Shell时间date相关的命令介绍

这篇文章主要讲解了“Shell时间date相关的命令介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Shell时间date相关的命令介绍”吧!date +%Fdate -d last-da
2023-06-09

Linux下spool命令邮件队列的实时监控

在 Linux 下,可以使用 mailq 或 postqueue -p 命令来实时监控邮件队列使用 mailq 命令:mailq 命令会显示邮件队列中的所有邮件。要查看实时更新的邮件队列,可以在终端中输入以下命令:mailq或者post
Linux下spool命令邮件队列的实时监控
2024-10-01

Linux中的who命令实例介绍

关于who显示登录系统的用户。执行who命令可得知目前有那些用户登入系统,单独执行who命令会列出登入帐号,使用的终端机,登入时间以及从何处登入或正在使用哪个X显示器。 描述who命令打印有关当前登录的所有用户的信息。 who语法who [
2022-06-04

Linux11个实用的终端命令介绍

这篇文章主要介绍“Linux11个实用的终端命令介绍”,在日常操作中,相信很多人在Linux11个实用的终端命令介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux11个实用的终端命令介绍”的疑惑有所
2023-06-13

win7系统定时关机命令的详细介绍

Win7怎么让电脑定时关机?想必大家一定有遇到过这样的烦恼吧,电脑文件下载到一半或传输到一半的时候,而你有事需外出,关机吧太可惜了,不关机吧又浪费电,还会影响电脑的使用寿命,那么该如何是好呢?这时候选择电脑定时关机是最好的解决办法。那么,W
2023-07-13

shell 中怎么利用awk命令实时监控网卡流量

本篇文章为大家展示了shell 中怎么利用awk命令实时监控网卡流量,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。实现原理: [chengmo@localhost ~]$ cat /proc/net
2023-06-13

linux下的删除重复行命令uniq的实例介绍

本篇内容介绍了“linux下的删除重复行命令uniq的实例介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一,uniq干什么用的文本中的重
2023-06-13

dos中RD命令递归删除目录的实例介绍

本篇内容介绍了“dos中RD命令递归删除目录的实例介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!rd命令递归删除目录 要求: 用DOS的
2023-06-08

dashboard简介:实时监控与数据可视化的利器

Dashboard 简介:实时监控与数据可视化的利器,需要具体代码示例Dashboard 是一种常见的数据可视化工具,可以让人们在一个地方快速浏览多个指标。Dashboard 可以实时监控任何事物的运行状态,并提供准确的信息和报告。不管你
dashboard简介:实时监控与数据可视化的利器
2024-01-19

Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令)

今天,抽空了浏览了下node.js ,哈哈,看了一篇入门的文章(http://www.nodebeginner.org/index-zh-cn.html),自我感觉是入门了,不过里面一句话,挺有感悟:不过,这些毕竟都是前端技术,尽管当想要增
2022-06-04

C#利用FileSystemWatcher实时监控文件的增加,修改,重命名和删除

好多时候,我们都需要知道某些目录下的文件什么时候被修改、删除过等。本文将利用FileSystemWatcher实现实时监控文件的增加,修改,重命名和删除,感兴趣的可以了解一下
2022-11-13

win8系统中的管理无线网络工具在哪里?用命令实现无线网络管理方法介绍

Windows 8中,“网络和共享中心”取消了“管理无线网络”选项。右下角网络图标,只能显示当前能搜到的热点,如果要管理所有已连接过的概要文件,就比较不方便,只能用命令来实现了。 首先,Win
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录