监控磁盘I/O -----iotop命令

目录

前言

一、 iotop简介

1.1 iotop安装

1.2 iotop语法

1.3  常用选项

二、I/O的常用快捷键

三、交互模式

四、输出行解释

4.1 iotop 行的含义

4.2  参数用法

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

4.2.2  显示指定PID 

4.2.3  显示指定用户 

4.2.4  打印指定PID的时间戳

4.2.5 借助iotop命令找到消耗I/O最高的进程,然后通过进程找到其正在执行的SQL语句

4.3  进行压力测试

五、总结


前言

iotop是一款开源、免费的用来监控磁盘I/O使用状况的类似top命令的工具,iotop可以监控进程的I/O信息。它是Python语言编写的,与iostat工具比较,iostat是系统级别的IO监控,而iotop是进程级别IO监控

一、 iotop简介

iotop 是一个类似 top 的工具,用来显示实时的磁盘活动。Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况。iotop 监控 Linux 内核输出的 I/O 使用信息,并且显示一个系统中进程或线程的当前 I/O 使用情况。它显示每个进程/线程读写 I/O 带宽。它同样显示当等待换入和等待 I/O 的线程/进程花费的时间的百分比。

1.1 iotop安装

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

安装:

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

yum install -y iotop

1.2 iotop语法

iotop     (选项)

1.3  常用选项

参数                                                描述 
-o只显示正在产生I/O的进程或线程,运行过程中,可以通过按o随时切换
-b 非交互式下运行,一般用来记录日志
-n NUM  设置监控(显示)次数,主要用于非交互式,默认无限
-d SEC设置显示的间隔秒数,支持非整数
-p PID只显示指定进程(PID)的信息
-u USER显示指定用户的进程信息
-P只显示进程,不显示所有线程
-a累积的I/O,显示从iotop启动后每个进程累积的I/O总数,便于诊断问题
-k 显示使用KB单位
-t  非交互模式下,加上时间戳
-q 只在第一次监测时显示列名. 去除头部一些行:这个参数可以设置最多3次来移除头部行:-q列头部只在最初交互显示一次;-qq列头部不显示;-qqq,I/O的总结不显示

二、I/O的常用快捷键

左右箭头:改变排序方式,默认是按IO排序

  • r:改变排序顺序。
  • o:只显示有IO输出的进程。
  • p:进程/线程的显示方式的切换。
  • a:显示累积使用量。
  • q:退出。

三、交互模式

如果在命令启动时没有指定-b参数,可以在接口的运行过程中进行如下交互:

1.排序字段:使用键盘左右箭头控制排序的字段(排序字段右侧有">"或"<",例如: IO>)\
2.排序方式:"r"键可以控制升序还是降序排列(">"表示降序,"<"表示升序);
3.仅显示有IO发生的进程:"o"控制是否仅显示发生IO的进程;
4.进程/线程:"p"键控制线程号/进程号的(PID/TID)
5.累积流量:"a"键控制是否显示累积IO量,更加利于查看问题
6.强制刷新:"q"键退出,除了这些键之外的任意键都会强制刷新。

四、输出行解释

4.1 iotop 行的含义

# Total DISK READ:从磁盘中读取的总速率
# Total DISK WRITE:往磁盘里写入的总速率
# Actual DISK READ:从磁盘中读取的实际速率
# Actual DISK WRITE:往磁盘里写入的实际速率
# TID:线程ID,按p可转换成进程ID
# PRIO:优先级
# USER:线程所有者
# DISK READ:从磁盘中读取的速率
# DISK WRITE:往磁盘里写入的速率
# SWAPIN:swap交换百分比
# IO>:IO等待所占用的百分比
# COMMAND:具体的进程命令

4.2  参数用法

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

iotop -o

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

4.2.2  显示指定PID 

 b是非交互式,-n 2指监控2次,-d 5 表示5秒刷新一次,-p是只显示进程

4.2.3  显示指定用户 

b是非交互式,-n 2指监控2次,-d 5 表示5秒刷新一次,-u是指定用户

iotop -b -n 2 -d 5 -u root

4.2.4  打印指定PID的时间戳

t表示打印时间戳,-k是单位为KB

iotop -b -n 2 -d 5 -p 1 -u root -t -k

​​​​​​​

4.2.5 借助iotop命令找到消耗I/O最高的进程,然后通过进程找到其正在执行的SQL语句

# iotop -oP

4.3  进行压力测试

1. 使用dd命令

dd if=/dev/zero of=/home/1.txt count=1024 bs=1G

2.在iotop上查看

五、总结

     iotop是一款开源、免费的用来监控磁盘I/O使用状况的类似top命令的工具,iotop可以监控进程的I/O信息。它是Python语言编写的,与iostat工具比较,iostat是系统级别的IO监控,而iotop是进程级别IO监控。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值