• Linux 系统管理命令


    命令详解

    重要星级:

            ★★★★☆

    功能说明:

            iotop 命令是一款实时监控磁盘 I/O 的工具, 但必须以 root 用户的身份运行。使用 iotop 命令可以很方便的查看每个进程使用磁盘 I/O 的情况。

            最小化安装系统一般是没有这个命令的,需要使用 yum 命令来额外安装:  yum install -y iotop  

    语法格式:

        iotop [option]
        iotop [选项]

            说明:

                在 iotop 命令及后面的选项里,每个元素之间都至少要有一个空格。

    选项说明:

    -o :显示正在使用 I/O 的进程或者线程,默认是显示所有。 ※
    -b :非交互模式,一般用来记录日志
    -n NUM:设置监测的次数,默认无限。在非交互模式下很有用
    -d :设置显示的间隔秒数。 -p :只显示指定 PID 的信息。 ※ -u :显示指定用户的信息。 -P :只显示进程,一般是显示所有的线程。 -a :显示从 iotop 启动后每个线程完成了的 I/O 总数。 -k :设置显示单位为 KB。 -t :在每一行前添加一个当前的时间。

    man 手册翻译:

    名称 
           iotop - 简单的 top 类 I/O 监视器
    总览
           iotop [OPTIONS]
    描述
        iotop 根据 Linux 内核( 需要2.6.20及以上 )来监测 I/O,并且能显示当前进程/线程的 I/O 使用率。
        Linux 内核 build 的事后哦,需要开启 CONFIG_TASK_DELAY_ACCT 和CONFIG_TASK_IO_ACCOUNTING 选项,这些选项依赖于 CONFIG_TASKSTATS。
        在采样周期里,iotop 按列显示每个进程/线程的 I/O 读写带宽,同时也显示进程/线程做 swap 交换和等待 I/O 所占用的百分比。
        每一个进程都会显示 I/O 优先级 ( class/level ),另外在最上面显示每个采样周期内的读写带宽。使用左右箭头来改变排序,r 用来改变排序顺序,o 用来触发 --only 选项,p 用来触发 --processes 选项。
        a 用来触发 --accumulated 选项,q 用来退出,i 用来改变进程或线程的监测优先级,其它任继健是强制刷新。
     
    选项:
           --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汇总。
    man iotop

    使用范例:

    不使用任何参数启动 iotop 命令( iotop ):

    [root@localhost :~]# iotop 
    
    Total DISK READ :    0.00 B/s | Total DISK WRITE :       0.00 B/s
    Actual DISK READ:    0.00 B/s | Actual DISK WRITE:       0.00 B/s
       TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
         1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % systemd --switched-root --system --deserialize 22
         2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
         3 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
         5 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/0:0H]
         7 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]
         8 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rcu_bh]
         9 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rcu_sched]
        10 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [lru-add-drain]
        11 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/0]
        12 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/1]
    ...

            以下是命令结果的具体说明:

     1.Toal DISK READ :总的磁盘读取速度。
     2.Toal DISK WRITE :总的磁盘写入速度。
     3.TID :进程的 pid 值。
     4.PRIO :优先级。
     5.USER :用户。
     6.DISK READ :磁盘读取速度。
     7.DISK WRITE :磁盘写入速度。
     8.SWAPIN :从 swap 分区读取数据占用的百分比。
     9.IO :I/O 占用的百分比。
    10.COMMAND :消耗 I/O 的进程名。

    根据 pid 查看指定进程信息 ( iotop -p pid ):

    [root@localhost :~]# iotop -p 1321
    
    Total DISK READ :    0.00 B/s | Total DISK WRITE :       0.00 B/s
    Actual DISK READ:    0.00 B/s | Actual DISK WRITE:       0.00 B/s
       TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN    IO>     COMMAND  
    1321 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % sshd: root@pts/0

     参考资料:

    1. iotop详解
  • 相关阅读:
    2018/1/1 XML和DOM、SAX解析
    2018/1/1 Html+CSS+JavaScript
    2017/12/30 GUI和动态代理
    开发运维实施一系列问题归类
    如何理解并发,并行,串行
    java内存溢出与内存泄漏
    IDEA 导入的聚合工程父工程报错Cannot resolve symbol 'modelVersion'
    jvm垃圾回收算法
    String创建对象的难题一
    String详解
  • 原文地址:https://www.cnblogs.com/clement-jiao/p/10188348.html
Copyright © 2020-2023  润新知