4.磁盘IO高分析方法


磁盘IO高分析方法
工具准备:
iotop: http://guichaz.free.fr/iotop/
pt-ioprofile:http://www.percona.com/downloads/percona-toolkit/2.2.1/

io高分析方法:

1、查看磁盘使用率 df -lh
2、安装iostat 安装命令:yum install sysstat
3、iostat -d -k 2 查看IO情况,哪个磁盘的IO负载较高,接下来我们就来定位具体的负载来源

%util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒)
如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。

4、安装iotop 命令:安装命令:yum install iotop iotop 查看哪个线程耗IO比较高、按 o 只显示有磁盘 IO 活动的进程。

5、pt-ioprofile定位负载来源文件
pt-ioprofile –profile-pid=1236 –cell=sizes
pt-ioprofile的原理是对某个pid附加一个strace进程进行IO分析。

6、 对于定位问题更有用的是通过IO的吞吐量来进行定位。使用参数 –cell=sizes,该参数将结果已 B/s 的方式展示出来
pt-ioprofile –profile-pid=1236 –cell=sizes
从上图可以看出IO负载的主要来源是jetty。
并且压力主要集中在读取上。

原文链接:https://urlify.cn/JNRVJb


文章作者: Soulballad
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Soulballad !
评论
 上一篇
5.CPU占用100%定位方法 5.CPU占用100%定位方法
0. 背景经常做后端服务开发的同学,或多或少都遇到过 CPU 负载特别高的问题。尤其是在周末或大半夜,突然群里有人反馈线上机器负载特别高,不熟悉定位流程和思路的同学可能登上服务器一通手忙脚乱,定位过程百转千回。 对此,也有不少同学曾经整理
下一篇 
3.通过jstack和jmap排查线上问题 3.通过jstack和jmap排查线上问题
一、发现问题 下面是线上机器的cpu使用率,可以看到从4月8日开始,随着时间cpu使用率在逐步增高,最终使用率达到100%导致线上服务不可用,后面重启了机器后恢复。 二、排查思路简单分析下可能出问题的地方,分为5个方向: 1.系统本身代码
  目录