• 【Linux资源管理】iotop命令监控磁盘使用情况


    一、iotop工具介绍

    I/O可谓是数据库服务器的最大瓶颈问题了,在使用top、nmon、zabbix、sar等工具监控I/O时,要么没有I/O监控(如top、zabbix),要么仅仅监控到磁盘层面(如nmon、sar)。然而,当服务器出现问题时,我们更想了解的是哪个进程占用了较多的I/O,这种情况下就可以使用iotop命令来监控。

    redhat linux 5.5自带了iotop工具,无需手动安装。查看是否安装了iotop工具:

    [root@OCP ~]# which iotop
    /usr/sbin/iotop

    如果要了解iotop如何使用,可以使用man命令:

    [root@OCP ~]# man iotop

    二、iotop工具用法

    iotop [-选项]

    选项有:

    选项 解释 示例
    -o 只显示有I/O操作的进程或线程,即存在disk read或disk write。 iotop -o
    -b 批量显示,无交互,主要用于记录到文件 iotop -b >> iotop.txt
    -n NUM 显示NUM次,主要用于非交互模式 iotop -b -n 3 >> iotop.txt
    -d SEC 间隔SEC秒更新一次数据,默认1s iotop –d 5
    -p PID 列出监控的进程,默认全部 iotop –p 3313(仅监控3313进程)
    -u USER 列出需要监控的用户,默认所有用户 iotop –u oracle
       

    iotop的快捷键:

    左右箭头:改变排序,默认按照IO使用百分比排序

    r         :反转排序结果

    o        :只显示有I/O的进程和线程

    a        :显示累积使用量

    q        :退出

    三、iotop工具展示

    image

    第一行是总的I/O统计信息,描述总的I/O读写情况。

    第二行是列名称,从左到右依次是:

    TID  :线程编号

    PRIO :未知

    USER:用户信息

    DISK READ  :磁盘读,以对用户友好的方式显示

    DISK WRITE:磁盘写,以对用户友好的方式显示

    SWAPIN     : swap空间使用百分比

    IO>           :IO使用百分比,“>”代表以IO排序,可以使用左右光标键调整使用哪一列来排序

    COMMAND  :进程发起程序名

    四、iotop使用测试

    (1)写数据模拟

    image

    往数据库插入大量数据测试,可以看到,此时lgwr进程与dbwn还有arch进程磁盘写非常的高。但是无法看到用户进程信息。

    (2)读数据模拟

    对无索引的大表(2千万行)进行查询。SELECT * FROM   lijiaman.t_iotop  a WHERE  a.t_name = 'M';

    image

    可以看到用户进程消耗的IO非常的高,LOCAL=NO是oracle的直连用户进程。

    【完】

  • 相关阅读:
    错误:The columns and the margins do not fit the page width.
    jasperreport使用动态jason数据源
    DynamicReport使用XML数据源+ireport的.jxml文件作为模板
    Report bands中文版
    iReport 使用json 数据源
    bat设置java环境变量
    解决DynamicReports中含有中文pdf版本不显示
    vba实现excel二级联动多选功能
    打字游戏 C语言
    fpga 任意分频 奇偶数 分频
  • 原文地址:https://www.cnblogs.com/lijiaman/p/10518000.html
Copyright © 2020-2023  润新知