Linux 查看磁盘IO并找出占用IO读写很高的进程

 更新时间:2020年02月05日 09:09:58   作者:踏歌行666  
这篇文章主要介绍了Linux 查看磁盘IO并找出占用IO读写很高的进程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

背景-线上告警

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

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

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

由上图可知,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 1

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

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

总结

以上所述是小编给大家介绍的Linux 查看磁盘IO并找出占用IO读写很高的进程,希望对大家有所帮助!

相关文章

  • 在CentOS 8上安装htop的教程

    在CentOS 8上安装htop的教程

    这篇文章主要介绍如何在CentOS 8上安装htop以及如何使用该命令检索系统统计信息。本文通过图文实例详解的形式给大家展示的非常详细,需要的朋友参考下
    2019-11-11
  • Linux中“!”你不知道的惊叹用法总结

    Linux中“!”你不知道的惊叹用法总结

    这篇文章主要给大家介绍了关于Linux中“!”你不知道的惊叹用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • VMware 12 下 Ubuntu 16.04 安装图文教程

    VMware 12 下 Ubuntu 16.04 安装图文教程

    这篇文章主要为大家详细介绍了VMware 12 下 Ubuntu 16.04 安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • Linux服务器上安装JDK全过程

    Linux服务器上安装JDK全过程

    文章内容总结:本文详细介绍了在Linux服务器上安装Java的步骤,包括下载JDK、上传服务器、解压缩、配置环境变量等,并提供了一个简单的命令来验证安装是否成功,希望本文能为读者提供有用的参考
    2024-11-11
  • Linux安装及管理软件程序全过程

    Linux安装及管理软件程序全过程

    本文介绍Linux系统中软件的安装方式,包括源码编译、rpm安装和yum安装,及其各自的优缺点,同时,详细解析了rpm和yum的包管理工具使用方法,包括命令操作和配置管理,为Linux用户提供全面的软件安装与管理指南
    2024-11-11
  • Linux将文件或目录打成rpm包的实现方法

    Linux将文件或目录打成rpm包的实现方法

    最近因为遇到一个服务器受系统限制,只能上传rpm包才能使用,而我们的服务都是文件,那么怎么将文件都打成rpm包呢???我也是找了好几个,终于找到了一个简单好用的打包方式,下面来给大家讲解一下部署及打包、安装,需要的朋友可以参考下
    2024-11-11
  • Linux下查看CPU型号,内存大小,硬盘空间的命令(详解)

    Linux下查看CPU型号,内存大小,硬盘空间的命令(详解)

    下面小编就为大家带来一篇Linux下查看CPU型号,内存大小,硬盘空间的命令(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • VmWare安装centos7无法上网的解决方法

    VmWare安装centos7无法上网的解决方法

    这篇文章主要为大家详细介绍了VmWare安装centos7无法上网的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • Linux服务器磁盘空间清理方法汇总

    Linux服务器磁盘空间清理方法汇总

    在长时间运行过程中,Linux服务器上的磁盘空间可能会被各种文件和目录占用,导致磁盘空间不足,所以我们定期清理磁盘空间是非常必要的,本文将介绍一些常见的Linux服务器磁盘空间清理方法,需要的朋友可以参考下
    2024-04-04
  • Linux双网卡绑定脚本的方法示例

    Linux双网卡绑定脚本的方法示例

    linux运维及配置工作中,常常会用到双网卡绑定,这篇文章主要介绍了Linux双网卡绑定脚本的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11

最新评论