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排查命令的更多相关文章

  1. java问题排查命令

    java问题排查命令 jps:查看java进程 jmap:导出堆详细信息(与jhat一起使用) jhat:分析Java堆的命令(与jmap一起使用) jstack:可以定位到线程堆栈,根据堆栈信息我们 ...

  2. Java开发必须掌握的线上问题排查命令

    作为一个合格的开发人员,不仅要能写得一手还代码,还有一项很重要的技能就是排查问题.这里提到的排查问题不仅仅是在coding的过程中debug等,还包括的就是线上问题的排查.由于在生产环境中,一般没办法 ...

  3. Rocket MQ 问题排查命令

    修改rocketmq官方代码测试: package com.alibaba.middleware.race.rocketmq; import java.util.Scanner; import com ...

  4. linux系统性能排查命令

    [top] 命令可以动态查看当前系统的资源情况,以及占用资源的命令列表 用法: - ctrl + c / q : 停止此命令运行 - c : 展示完整的命令 - [top -bn1]:可以不动态的展示 ...

  5. 5.Linux常用排查命令

    可以使用一下命令查使用内存最多的10个线程     ps aux | sort -k4nr | head -n 10   可以使用一下命令查使用CPU最多的10个线程     ps aux | sor ...

  6. mysql常用排查命令

    1.查看服务器使用状态 mysqladmin -uroot -p -S /tmp/mysql.sock -r -i 1 ext |\ awk -F"|" \ "BEGIN ...

  7. linux常用命令 、查看日志、web排查

    linux常用命令 ps aux|grep xxx (比如 ps aux|grep tomcat ps aux|grep tomcat-portalvip ps aux|grep nginx 等) r ...

  8. mongodb系列~mongo常用命令

    mongodb常用命令大全1 索引相关命令 db.chenfeng.ensureIndex({"riqi":1}) 添加索引会阻塞nohup mongo --eval " ...

  9. 系统管理员应该知道的20条Linux命令

    如果您的应用程序不工作,或者您希望在寻找更多信息,这 20 个命令将派上用场. 在这个全新的工具和多样化的开发环境井喷的大环境下,任何开发者和工程师都有必要学习一些基本的系统管理命令.特定的命令和工具 ...

随机推荐

  1. linux -- ubuntu dash bash

    终端:即所谓的命令行界面,又称命令终端,用户输入shell命令用的窗口,跟Windows里的DOS界面差不多. shell:意为“壳”,是操作系统与用户交互用的接口,在命令终端里可以使用shell.s ...

  2. erlang和java的socket通讯----最简单,初次实现。

    直接上源码,留做纪念. 有点简单,大家不要笑,初次实现. 功能描述:java发送数据给erlang,erlang将收到的数据重复两次再发送给java. erlang源码:模块tcp_listen -m ...

  3. tarjan算法-解决有向图中求强连通分量的利器

    小引 看到这个名词-tarjan,大家首先想到的肯定是又是一个以外国人名字命名的算法.说实话真的是很佩服那些算法大牛们,佩服得简直是五体投地啊.今天就遇到一道与求解有向图中强连通分量的问题,我的思路就 ...

  4. 新兵训练营课程——环境与工具Java[转]

    原文地址:http://weibo.com/p/1001643874239169320051 程序员在开发过程中会用到很多工具来提升开发和协作效率,这次介绍的是目前微博平台在开发过程中用到的一些工具, ...

  5. ueditor1.4.3配置过程(包含单独上传文件以及图片的使用),ueditor1.4.3上传配置(转 http://www.bkjia.com/webzh/1001016.html)

    这里使用的是ueditor1.4.3的jsp版本的UTF-8版本. 首先下载相应的ueditor,将ueditor文件夹直接拷贝到项目中,文件结构如下所示: 然后将项目要用的jar包导入到lib目录下 ...

  6. Spring-Condition设置

    为了满足不同条件下生成更为合适的bean,可以使用condition配置其条件.假如有一个bean,id为magicBean,只有当其具有magic属性时才生成,方法如下: javaConfig模式: ...

  7. DeDeCMS织梦的采集教程

    http://www.tuicool.com/articles/VziaEz    dede 第一步.我们打开织梦后台点击采集——采集节点管理——增加新节点 第二步.新增节点-配置网址索引 填写要采集 ...

  8. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'UserDao' def

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'UserDao' def ...

  9. swift - 利用UIDatePicker实现定时器的效果

    效果图如下: 可以通过UIDatePicker调整倒计时的时间,然后点击UIButton开始倒计时,使用NSTimer进行倒计时的时间展示,我是声明了一个label也进行了标记, 然后点击按钮开始倒计 ...

  10. ArcGIS 要素合并

    1.选择工具 2.选择输入要素.输出要素.按照什么字段进行合并 3.查看融合结果 4.GP工具-创建GP模型 拖入“融合”工具,设置融合的参数,如下图: 右击左边椭圆,勾选 模型参数 右击右边椭圆,勾 ...