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汇总。

  • 相关阅读:
    Begin Example with Override Encoded SOAP XML Serialization
    State Machine Terminology
    How to: Specify an Alternate Element Name for an XML Stream
    How to: Publish Metadata for a WCF Service.(What is the Metadata Exchange Endpoint purpose.)
    Beginning Guide With Controlling XML Serialization Using Attributes(XmlSerializaiton of Array)
    Workflow 4.0 Hosting Extensions
    What can we do in the CacheMetaData Method of Activity
    How and Why to use the System.servicemodel.MessageParameterAttribute in WCF
    How to: Begin Sample with Serialization and Deserialization an Object
    A Test WCF Service without anything of config.
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/6917648.html
Copyright © 2011-2022 走看看