zoukankan      html  css  js  c++  java
  • Linux性能监控命令系列之 iostat

    大家好!我是Sean!

    已经连续撸了3天的Linux性能监控命令,今天接着撸命令,iostat!

    很早就接触过iostat,说起来和他也是老朋友啦!接下来给大家介绍下这位老朋友!

    iostat(监视系统输入输出设备和CPU的使用情况)

    iostat命令 被用于监视系统输入输出设备和CPU的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析,安装命令十分简单,CentOS上执行yum install sysstat即可。

    命令参数

    -c:仅显示CPU使用情况;
    -d:仅显示设备利用率;
    -k:显示状态以千字节每秒为单位,而不使用块每秒;
    -m:显示状态以兆字节每秒为单位;
    -p:仅显示块设备和所有被使用的其他分区的状态;
    -t:显示每个报告产生时的时间,单位:秒;
    -V:显示版号并退出;
    -x:显示扩展状态。
    

    常用命令

    显示所有信息
    iostat
    
    显示指定磁盘信息
    iostat -d /dev/sda
    
    仅显示cpu信息
    iostat -c
    
    显示磁盘基本IO信息
    iostat -d
    
    以M为单位显示所有信息
    iostat -m
    
    显示磁盘详细IO信息
    iostat -d -x -k
    
    指定定时输出,后面跟上定时时长,不指定则输出一次
    指定输出次数,后面跟上输出次数,不指定则一直输出
    例如:每隔1秒刷新显示,共刷新3次,命令可以写成这样
    iostat 1 3
    iostat -d /dev/sda 1 3
    iostat -c 1 3
    iostat -d 1 3
    iostat -m 1 3
    iostat -d -x -k 1 3
    

    命令详解

    显示所有信息

    iostat
    
    %user		CPU处在用户模式下的时间百分比
    %nice		CPU处在带NICE值的用户模式下的时间百分比
    %system		CPU处在系统模式下的时间百分比
    %iowait		CPU等待输入输出完成时间的百分比
    %steal		管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比
    %idle		CPU空闲时间百分比
    tps			该磁盘每秒的传输次数
    kB_read/s	每秒从磁盘读取的数据量
    kB_wrtn/s	每秒向磁盘写入的数据量
    kB_read		读取的总数据量
    kB_wrtn		写入的总数据量
    
    数据查看技巧:
    1. 如果%iowait的值过高,说明写磁盘等待现象比较严重,磁盘I/O存在瓶颈,考虑进一步排查进程级别的IO情况
    2. 如果%idle值高,说明CPU是比较空闲的,但是明显感觉系统反应迟钝,可能是CPU等待分配内存,可能需要加内存了。
    3. 如果%idle值持续低于10,可能是CPU的处理能力不足了,需要考虑下规格了。
    

    显示指定磁盘信息

    iostat -d /dev/sda
    

    仅显示cpu信息

    iostat -c
    

    显示磁盘基本IO信息

    iostat -d
    

    以M为单位显示所有信息

    iostat -m
    

    显示磁盘详细IO信息

    iostat -d -x -k
    
    Device		监测设备名称
    rrqm/s		每秒需要读取需求的数量
    wrqm/s		每秒需要写入需求的数量
    r/s			每秒实际读取需求的数量
    w/s			每秒实际写入需求的数量
    rsec/s		每秒读取区段的数量
    wsec/s		每秒写入区段的数量
    rkB/s		每秒实际读取的大小,单位为KB
    wkB/s		每秒实际写入的大小,单位为KB
    avgrq-sz	需求的平均大小区段
    avgqu-sz	需求的平均队列长度
    await		等待I/O平均的时间(milliseconds)
    r_await		读取等待I/O平均的时间(milliseconds)
    w_await		写入等待I/O平均的时间(milliseconds)
    svctm		I/O需求完成的平均时间
    %util		被I/O需求消耗的CPU百分比
    
    数据查看技巧:
    如果%util接近100%,说明产生的I/O请求太多,I/O系统已经满负荷,idle小于70% IO压力就较大了,一般读取速度有较多的wait。
    

    思维导图总结

    今天的分享就到这里啦!感谢各位的阅读!码字不易,如果本文对你有帮助的话,帮忙点个赞吧~哈哈。

    性能监控命令系列结束后会将思维导图分享出来,欢迎关注公众号“程序员Sean”。

  • 相关阅读:
    一、ZooKeeper学习
    Winform下有关控件焦点问题
    一、人工智能概述
    二十五、过滤器Filter,监听器Listener,拦截器Interceptor的区别
    二十四、JAVA的NIO和IO的区别
    四、触发器(Trigger)
    三、存储过程(Stored Procedure)与游标(Cursor)
    二十三、Spring框架的相关知识点总结
    《构建之法》阅读笔记第十&十一章
    《构建之法》阅读笔记
  • 原文地址:https://www.cnblogs.com/ws007/p/13936942.html
Copyright © 2011-2022 走看看