I/O排查命令
Posted Jack秦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了I/O排查命令相关的知识,希望对你有一定的参考价值。
I/O可以说是问题大户,线上的问题经常都是它引起的,很多人却不知道怎么定位这种问题。今天简单介绍一下,在此抛砖引玉。
此类问题我们一般分三步定位:按系统级I/O、进程级I/O、业务级I/O定位即可,一般情况下分析前面两步就可以知道大致问题所在。
系统级I/O (使用iostat、vmstat命令)
常用选项
-d 显示设备(磁盘)使
I/O可以说是问题大户,线上的问题经常都是它引起的,很多人却不知道怎么定位这种问题。今天简单介绍一下,在此抛砖引玉。
此类问题我们一般分三步定位:按系统级I/O、进程级I/O、业务级I/O定位即可,一般情况下分析前面两步就可以知道大致问题所在。
系统级I/O (使用iostat、vmstat命令)
常用选项
-d 显示设备(磁盘)使用状态 。
-x 显示和I/O相关的扩展数据。
-k 使用k为单位。
线上I/O问题排查思路
%util 代表磁盘繁忙程度,0%~100%之间。
argrq-sz 提交给驱动层的IO请求大小,用于度量随机程度。
svctm 单次IO请求耗时,寻道+旋转延迟时间,一般不超过8ms。
vmstat命令可以查看系统纬度的CPU负载,显示如下:
us:表示用户进程消耗的CPU时间百分比。
sy:内核模式消耗的CPU时间百分比。
wa:IO等待消耗的CPU时间百分比。
进程级I/O (使用iotop、strace)
常用选项
-d SEC:间隔SEC秒显示一次。
-p PID:监控的进程pid。
iotop
线上I/O问题排查思路
用状态 。
-x 显示和I/O相关的扩展数据。
-k 使用k为单位。
%util 代表磁盘繁忙程度,0%~100%之间。
argrq-sz 提交给驱动层的IO请求大小,用于度量随机程度。
svctm 单次IO请求耗时,寻道+旋转延迟时间,一般不超过8ms。
vmstat命令可以查看系统纬度的CPU负载,显示如下:
us:表示用户进程消耗的CPU时间百分比。
sy:内核模式消耗的CPU时间百分比。
wa:IO等待消耗的CPU时间百分比。
进程级I/O (使用iotop、strace)
常用选项
-d SEC:间隔SEC秒显示一次。
-p PID:监控的进程pid。
iotop
以上是关于I/O排查命令的主要内容,如果未能解决你的问题,请参考以下文章