背景-线上告警

线上一台服务器告警,磁盘利用率 disk.util > 90,并持续告警。

登录该服务器后通过 iostat -x 1 10 查看了相关磁盘使用信息。相关截图如下:

 # 如果没有 iostat 命令,那么使用 yum install sysstat 进行安装
# iostat -x

由上图可知,vdb磁盘的 %util【IO】几乎都在100%,原因是频繁的读取数据造成的。

其他字段说明

Device:设备名称
tps:每秒的IO读、写请求数量,多个逻辑请求可以组合成对设备的单个I/O请求。
Blk_read/s (kB_read/s, MB_read/s):从设备读取的数据量,以每秒若干块(千字节、兆字节)表示。块相当于扇区,因此块大小为512字节。
Blk_wrtn/s (kB_wrtn/s, MB_wrtn/s):写入设备的数据量,以每秒若干块(千字节、兆字节)表示。块相当于扇区,因此块大小为512字节。
Blk_read (kB_read, MB_read):读取块的总数(千字节、兆字节)。
Blk_wrtn (kB_wrtn, MB_wrtn):写入块的总数(千字节,兆字节)。

rrqm/s:每秒合并到设备的读请求数。即delta(rmerge)/s
wrqm/s:每秒合并到设备的写入请求数。即delta(wmerge)/s
r/s:每秒完成的读I/O设备次数。即delta(rio)/s
w/s:每秒完成的写I/0设备次数。即delta(wio)/s
rsec/s (rkB/s, rMB/s):每秒读取设备的扇区数(千字节、兆字节)。每扇区大小为512字节
wsec/s (wkB/s, wMB/s):每秒写入设备的扇区数(千字节、兆字节)。每扇区大小为512字节

avgrq-sz:平均每次设备I/O操作的数据量(扇区为单位)。即delta(rsec+wsec)/delta(rio+wio)
avgqu-sz:平均每次发送给设备的I/O队列长度。
await:平均每次IO请求等待时间。(包括等待队列时间和处理时间,毫秒为单位)
r_await:平均每次IO读请求等待时间。(包括等待队列时间和处理时间,毫秒为单位)
w_await:平均每次IO写请求等待时间。(包括等待队列时间和处理时间,毫秒为单位)
svctm:平均每次设备I/O操作的处理时间(毫秒)。警告!不要再相信这个字段值,这个字段将在将来的sysstat版本中删除。
%util:一秒中有百分之多少的时间用于I/O操作,或者说一秒中有多少时间I/O队列是非空的。当该值接近100%时,设备饱和发生。

找到 IO 占用高的进程

通过 iotop 命令

如果没有该命令,请通过 yum install iotop 进行安装。

# iotop -oP

通过这个命令可以看见比较详细信息,如:进程号,磁盘读取量,磁盘写入量,IO百分比,涉及到的命令是什么「两个都是 grep 命令造成的IO读取量大」。

通过 pidstat 命令

 # 命令的含义:展示I/O统计,每秒更新一次
# pidstat -d

可见其中 grep 命令占用了大量的读IO,之后可根据 PID 查看相关进程信息。

说明:本图与上图的PID不同,原因是上图涉及的进程执行完了,本图是之后执行产生的进程【都执行的同一个脚本】。


———END———

如果觉得不错就关注下呗 (-^O^-) !

Linux 查看磁盘IO并找出占用IO读写很高的进程的更多相关文章

  1. java:找出占用CPU资源最多的那个线程(HOW TO)

    在这里对linux下.sun(oracle) JDK的线程资源占用问题的查找步骤做一个小结:linux环境下,当发现java进程占用CPU资源很高,且又要想更进一步查出哪一个java线程占用了CPU资 ...

  2. java:找出占用CPU资源最多的那个线程

    linux环境下,当发现java进程占用CPU资源很高,且又要想更进一步查出哪一个java线程占用了CPU资源时,按照以下步骤进行查找: 1.先用top命令找出占用资源厉害的java进程id,如: 2 ...

  3. linux 查看磁盘空间

    linux 查看磁盘空间大小命令 df :命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息 df -hl:查看磁盘剩余空间信息,显示如下: 文件系统          ...

  4. Linux查看磁盘剩余空间

    Linux查看磁盘剩余空间 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ df 文件系统 1K-blocks 已用 可用 已用% 挂载点 /dev/sda8 ...

  5. Linux 查看磁盘使用情况

    Linux 查看磁盘使用情况 df 查看当前挂载空间使用情况 语法: df [选项]... [FILE]... 文件-a, --all 包含所有的具有 0 Blocks 的文件系统 文件--block ...

  6. Linux查看磁盘空间大小命令

    Linux查看磁盘空间大小命令df -hldf -hl 查看磁盘剩余空间df -h 查看每个根路径的分区大小du -sh [目录名] 返回该目录的大小du -sm [文件夹] 返回该文件夹总M数du ...

  7. linux查看在线用户并踢出用户

    linux查看在线用户并踢出用户 1.查看在线用户 w [root@dbserver01 ~]# w 16:45:04 up 16 days, 8:48, 1 user, load average: ...

  8. linux查看磁盘信息

    linux查看磁盘挂载信息:df -hlinux查看文件夹大小:sudo du -h --max-depth=1

  9. Linux 查看磁盘空间 相关命令

    Linux 查看磁盘空间 相关命令 实际工作中,我们经常需要查看磁盘空间的使用情况,以防止磁盘空间不足,导致的系统崩溃或者服务异常等问题. 常用的磁盘空间查看命令如下: 1.查看磁盘空间的整体使用情况 ...

随机推荐

  1. c++ 队列算法

    include using namespace std; #define Maxsize 5 typedef int DataType; typedef struct Queue { DataType ...

  2. python知识点总结02(不定时更新)

    请用至少两种方式实现m与n值交换m=10,n=5 # 方式一 temp = 0 m = 10 n = 5 print(f'方式一交换前,m:{},n:{}') temp = m m = n n = t ...

  3. 数据导出至excle

    ASP.NET MVC导出Excel 首先下载  NPOI.dll 引用到项目中 建议下载地址:http://download.csdn.net/detail/pukuimin1226/5851747 ...

  4. 跌宕起伏的java帝国史,剖析谷歌甲骨文长达8年的版权战争

    这篇博文是我在B站上发的一个科普java的视频文案整理,本来发过一次了,但是有几种不严谨的地方只能删掉重新发了一下,内容如标题,感兴趣的码农朋友可以观看视频的版本,欢迎提提意见啥的,感谢~https: ...

  5. 1090 危险品装箱 (25分)C语言

    集装箱运输货物时,我们必须特别小心,不能把不相容的货物装在一只箱子里.比如氧化剂绝对不能跟易燃液体同箱,否则很容易造成爆炸. 本题给定一张不相容物品的清单,需要你检查每一张集装箱货品清单,判断它们是否 ...

  6. 小小知识点(三十九) 正交频分复用OFDM的基本原理及实现

    引言 符号间干扰(ISI)是无线传输系统设计中需要考虑的因素,采用什么样的处理方法取决于数据传输速率或等效传输带宽来决定 (1)若数据速率低且与信道最大延迟相比符号持续时间较长,那么就可能无需任何均衡 ...

  7. Linux 查看实时网卡流量的方法 sar nload iftop

    1.sar 计量脚本 sar(System Activity Reporter 系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读 ...

  8. Vmware下Ubuntu 14.04静态IP地址的设置方法

    一.环境 宿主机 Win 8.1 虚拟机工具 VMware 10.0 虚拟主机系统 Ubuntu 14.04   二.说明 这里需要注意的是:VMware对于VMnet8采用如下规则(192.168. ...

  9. 竹马竹马chikuma

    [问题描述] 众所周知,zzh 和 heyi 是一对竹马竹马,他们从小一起学 C++,最后都成了著名的神犇.而时间回溯到他们童年,这天 zzh 邀请 heyi 来参加 zzh 举行的男性家庭聚会. 而 ...

  10. kuangbin专题 专题九 连通图 Strongly connected HDU - 4635

    题目链接:https://vjudge.net/problem/HDU-4635 题目:有向图,给定若干个连通图,求最多还能添加几条边,添完边后,图仍然要满足 (1)是简单图,即没有重边或者自环 (2 ...