zoukankan      html  css  js  c++  java
  • Linux iotop命令详解

    iotop命令是一个用来监视磁盘I/O使用状况的top类工具。iotop具有与top相似的UI,其中包括PID、用户、I/O、进程等相关信息。Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况,如果你想知道每个进程是如何使用IO的就比较麻烦,使用iotop命令可以很方便的查看。

    与iostat工具比较,iostat是系统级别的IO监控,而iotop是进程级别IO监控

    注意,iotop的安装有前提条件(如果操作系统不满足这些条件,iotop无法正确安装):

     1:内核版本为2.6.20或更高版本
      2:Python 2.7或更高的版本

    iotop参数

    输入iotop -h可查看使用帮助

    -o:只显示有io操作的进程
    -b:批量显示,无交互,主要用作记录到文件。
    -n NUM:显示NUM次,主要用于非交互式模式。
    -d SEC:间隔SEC秒显示一次。
    -p PID:监控的进程pid。接进程号,监视指定进程,只会输出该进程的统计信息。
    -u USER:监控的进程用户。
    -k 使用千字节而不是人类友好单位
     

    iotop使用

    终端输入命令iotop -k查看到的效果如下图。

    说明:


     

        Total DISK READ:总磁盘读
        Actual DISK READ:实际磁盘读
        Total DISK WRITE :总磁盘写入
        Actual DISK WRITE:实际磁盘写入
        TID列:进程PID
        USER:进程对应的用户

    iotop快捷键

        左右箭头:改变排序方式,默认是按IO排序。
        r:改变排序顺序。反向排序
        o:只显示有IO输出的进程。
        p:进程/线程的显示方式的切换。
        a:显示累积使用量。
        q:退出。

    iotop的例子

    1:只显示正在产生I/O的进程

    iotop -o

     通过输出结果,我们可以清楚地知晓是什么程序在读写磁盘,速度以及命令行,pid 等信息。

    2:使用非交互模式将iotop命令输出信息写入日志

    #nohup iotop -b -o -n 10 -d 5 -t  > /tmp/iotop.log &

    3.借助iotop命令找到消耗I/O最高的进程

    iotop -oP

    监控系统I/O
    [root@localhost ~]# iotop

    监控用户root的I/O
    [root@localhost ~]# iotop -u root

    监控进程号是1的I/O
    [root@localhost ~]# iotop -p 1

    参考:https://www.xiaoz.me/archives/14057

    https://www.cnblogs.com/kerrycode/p/11344506.html

  • 相关阅读:
    Web---JSP-EL表达式
    JSP---JavaBean的使用-jsp:useBean标签相关
    Web---JSP注册技术的的演绎(3代)-JSP/EJB/Servlet/POJO/JavaBean
    Web---myAjax(自己写底层)-隐藏帧技术
    JSP---JSP中4个容器-pageContext使用
    JSP---演示ErroPage、isErroPage和jsp:forword标签
    JSP-讲解(生成java类、静态导入与动态导入)
    经典算法面试题目-替换字符串的内容(1.5)
    【Android UI】Android Layout XML属性
    【Android UI】:Fragment官方文档
  • 原文地址:https://www.cnblogs.com/zhongguiyao/p/14047113.html
Copyright © 2011-2022 走看看