• iotop


    一、简介:

    iotop:一款类似top的I/O监控工具,只显示正在产生I/O的进程或线程。

    iotop监控的主要项:

    • 进程/线程的I/O的读写带宽
    • 进程/线程swapin的耗时占比
    • 进程/线程的I/O阻塞(等待)耗时占比
    • 每个进程/线程的I/O优先级
    • 系统中I/O总读写带宽
    • 系统中I/O实际读写带宽(和总读写带宽有时候值并不一致)

    二、安装

    yum安装

    Centos

    sudo yum install -y iotop

    三、帮助

    输入:iotop -h

    Usage: /usr/sbin/iotop [OPTIONS]

    DISK READ and DISK WRITE are the block I/O bandwidth used during the sampling

    period. SWAPIN and IO are the percentages of time the thread spent respectively

    while swapping in and waiting on I/O more generally. PRIO is the I/O priority at

    which the thread is running (set using the ionice command).

    /*

    DISK READ:采样周期内读磁盘的带宽(平均值)

    DISK WRITE:采用周期内写磁盘的带宽(平均值)

    SWAPIN:磁盘换入的时间占总时间的百分比(内存不够用的时候会进行内存换入到磁盘)

    IO: 普通的磁盘读写等待时间占总时间的百分比

    PRIO: 进程/线程进行I/O调度时候的优先级(使用ionice设定)

    */

    Controls: left and right arrows to change the sorting column, r to invert the

    sorting order, o to toggle the --only option, p to toggle the --processes

    option, a to toggle the --accumulated option, i to change I/O priority, q to

    quit, any other key to force a refresh.

    /*

    按键控制:

    ⬅️/➡️:选择排序的列

    r:按逆序排列当前IO进程/线程列表

    o:同--only参数

    p: 同--processes参数

    a: 同--accumulated参数

    i: 改变I/O优先级

    q: 退出iotop

    其他任意键:强制刷新当前IO进程/线程列表

    */

    Options:

    --version show program's version number and exit //显示版本信息

    -h, --help show this help message and exit //显示帮助信息

    -o, --only only show processes or threads actually doing I/O //显示当前有I/O活动的进程或者线程(也就是没有进行IO操作的进程/线程不展示到列表)

    -b, --batch non-interactive mode //非交互模式,即后台模式(这个可以把信息重定位输出到某个文件)

    -n NUM, --iter=NUM number of iterations before ending [infinite] //信息刷新次数,默认一直刷新,不会自行退出;如果指定该参数为N,则iotop在更新N次列表信息后自动退出(此参数在批处理模式下比较方便)

    -d SEC, --delay=SEC delay between iterations [1 second] //信息刷新间隔,即每隔几秒刷新一次,默认为每隔一秒刷新一次

    -p PID, --pid=PID processes/threads to monitor [all] //筛选展示特定PID的进程或者线程,默认为所有进程/线程

    -u USER, --user=USER users to monitor [all] //筛选展示特定用户下进程/线程IO,默认为所有用户

    -P, --processes only show processes, not all threads //筛选只展示进程的IO信息,默认展示所有进程和线程的IO信息

    -a, --accumulated show accumulated I/O instead of bandwidth //设置IO的值为累计IO而不是实时IO

    -k, --kilobytes use kilobytes instead of a human friendly unit //设置IO的单位为KB/s,默认根据IO大小自行进行单位适配。(在批处理模式下设置比较方便统计)

    -t, --time add a timestamp on each line (implies --batch) //批处理模式,在每行前面加上时间戳

    -q, --quiet suppress some lines of header (implies --batch) //批处理模式,只在打印一次列名

    -qq column names are never printed, //不打印列名

    -qqq the I/O summary is never printed. //连概要信息也不打印

    四、例子

    1.每隔十秒打印一次信息,仅打印有活跃I/O的进程和线程数据

    iotop -d 10 -o
    

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

    iotop -d 10 -o -k
    
  • 相关阅读:
    C/C++预处理指令#define,#ifdef,#ifndef,#endif…
    解析.DBC文件, 读懂CAN通信矩阵,实现车内信号仿真
    Elasticsearch Aggregation 多个字段分组统计 Java API实现
    [转]Elasticsearch Java API总汇
    ElasticSearch Aggs的一些使用方法
    ElasticSearch 简单入门
    jQuery表格自动增加
    JVM(Java虚拟机)优化大全和案例实战
    Tomcat性能调优-让小猫飞奔
    Mapreduce部署与第三方依赖包管理
  • 原文地址:https://www.cnblogs.com/linhaostudy/p/16182765.html
Copyright © 2020-2023  润新知