• Linux机器I/O分析


    有时候业务突增,机器的性能是需要我们特别关注的,分享下关于查看linux的IO的工具

    1、iostat

    centos安装方式
    yum install sysstat
    

    例子1:

    iostat常用的选项-x,该选项将用于显示和io相关的扩展数据。

    iostat -x

    关于 CPU 的指标,重点看%iowait 和 %idle 两个指标。
    %iowait:CPU 等待输入输出完成时间的百分比;
    %idle:CPU 空闲时间百分比。
    
    若%iowait 的值过高,则表示硬盘存在 I/O 瓶颈;若 %idle 值高,表示 CPU 较空闲。如果 %idle 值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量。%idle 值如果持续低于 10,那么系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU。
    
    关于 Disk 指标,我们重点看 %utils、svctm、await 和 avgque-sz几个指标。
    avgqu-sz: 平均 I/O 队列长度;
    await: 平均每次设备 I/O 操作的等待时间 (毫秒);
    svctm: 平均每次设备 I/O 操作的服务时间 (毫秒);
    %util: 一秒中有百分之多少的时间用于 I/O 操作,即被 I/O 消耗的 CPU 百分比
    
    若 %util 接近 100%,说明产生的 I/O 请求太多,I/O 系统已经满负荷,该磁盘可能存在瓶颈;若 svctm 比较接近 await,说明 I/O 几乎不需要等待;若 await 远大于 svctm,说明 I/O 队列太长,I/O 响应太慢,则需要进行必要优化;若 avgqu-sz 比较大,也表示有大量 IO 在等待。

    例子2:

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

     2、iotop

    centos安装
    yum install iotop -y
    

    例子:

    每隔十秒打印一次信息,设置单位为KB/s,仅打印有活跃I/O的进程和线程数据
    iotop -d 10 -o -k
    

    3、dstat

    centos安装
    yum insatll dstat
    

    选项

    -c #显示CPU系统占用,用户占用,空闲,等待,中断,软件中断等信息
    
    -C #可按需分别显示cpu状态
    
    -d #显示磁盘读写数据大小
    
    -n #显示网络状态
    
    -N #指定要显示的网卡
    
    -l #显示系统负载情况
    
    -m #显示内存使用情况
    
    -g #显示页面使用情况
    
    -p #显示进程状态
    
    -s #显示交换分区使用情况
    
    -S #类似D/N
    
    -r #I/O请求情况
    
    -y #系统状态
    
    -–disk-util #显示某一时间磁盘的忙碌状况
    
    -–freespace #显示当前磁盘空间使用率
    
    -–proc-count #显示正在运行的程序数量
    
    -–top-bio #指出块I/O最大的进程
    
    -–top-cpu #图形化显示CPU占用最大的进程
    
    -–top-io #显示正常I/O最大的进程
    
    -–top-mem #显示占用最多内存的进程
    

    例子1:

    显示io、内存、cpu状态

    dstat -l -m -r -c  --top-io --top-mem --top-cpu
    

    例子2:

    查看全部内存的状态

    dstat -g -l -m -s --top-mem
    

      

     

      

      

  • 相关阅读:
    vue官方实例-组件
    数据处理-js
    图片大于div时的居中显示
    angularjs select通过动态加载option有空白项的处理方法-
    背景图片自适应div
    input-text
    input-number-required
    input-number-not-required
    null与undefined的区别?
    是true还是false呢?
  • 原文地址:https://www.cnblogs.com/lucktomato/p/16125358.html
Copyright © 2020-2023  润新知