zoukankan      html  css  js  c++  java
  • 查看系统的I/O使用iostat命令而使用iotop能够依据I/O统计信息排序,追踪到详细的进程

    当看到I/O等待时间所占CPU时间的比重非常高的时候,首先要检查的就是机器是否正在大量使用交换空间。由于硬盘操作的速度远远低于RAM,所以当系统内存耗尽。開始使用交换空间的时候,系统的性能会受到严重影响。

    不论什么想要訪问硬盘的操作都要完毕与硬盘的I/O交换。所以。故障排除的第一步是看内存是否耗尽。假设是,先解决问题。

    假设还有大量可用的RAM。你须要明白那个进程占用了大部分I/O操作。

    在你非常难弄明确究竟是哪个进程占用了大量I/O资源,使用iostat能够找到是哪个分区运行大量I/O操作。

    iostat的使用

    最上面显示的是1个cpu,64位系统。linux内核版本号

    avg-cpu段:
    %user: 在用户级别执行所使用的CPU的百分比
    %nice: nice操作所使用的CPU的百分比
    %system: 在系统级别(kernel)执行所使用CPU的百分比
    %iowait: CPU等待硬件I/O时,所占用CPU百分比
    %idle: CPU空暇时间的百分比
    Device段:

    sda:设备名
    tps: 每秒钟发送到的I/O请求数.
    Blk_read /s: 每秒读取的数据量
    Blk_wrtn/s: 每秒写入的数据量.
    Blk_read:   读入的总的数据量
    Blk_wrtn:  写入的总的数据量

    iostat各个參数说明:


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

    iostat后加一个数字

    iostat 4 表示每隔4秒就刷新一次

    iotop的使用



           --version 显示版本然后退出
           -h, --help 显示帮助然后退出
           -o, --only 仅仅显示正在产生I/O的进程或线程。除了传參。能够在执行过程中按o生效。
           -b, --batch 非交互模式,一般用来记录日志
           -n NUM, --iter=NUM 设置监測的次数。默认无限。在非交互模式下非常实用
           -d SEC, --delay=SEC 设置每次监測的间隔,默认1秒,接受非整形数据比如1.1
           -p PID, --pid=PID 指定监測的进程/线程
           -u USER, --user=USER 指定监測某个用户产生的I/O
           -P, --processes 仅显示进程,默认iotop显示全部线程
           -a, --accumulated 显示累积的I/O,而不是带宽
           -k, --kilobytes 使用kB单位,而不是对人友好的单位。在非交互模式下,脚本编程实用。


           -t, --time 加上时间戳,非交互非模式。
           -q, --quiet 禁止头几行,非交互模式。

    有三种指定方式。


                  -q     仅仅在第一次监測时显示列名
                  -qq    永远不显示列名。
                  -qqq   永远不显示I/O汇总。

  • 相关阅读:
    linux添加开机启动项、登陆启动项、定时启动项、关机执行项等的方法
    linux下/etc/rc.d目录的介绍及redhat启动顺序
    Linux开机自动挂载存储的两种方式
    Linux中环境变量文件profile、bashrc、bash_profile之间的区别和联系
    linux命令详解——yum
    linux命令详解——ftp
    Shell脚本之sed详解
    shell awk读取文件中的指定行的指定字段
    MySQL的字符集
    shell脚本中的数组
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/6917648.html
Copyright © 2011-2022 走看看