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. PHP curl_setopt函数用法介绍补充篇

    1.curl数据采集系列之单页面采集函数get_html 单页面采集在数据采集过程中是最常用的一个功能 有时在服务器访问限制的情况下 只能使用这种采集方式 慢 但是可以简单的控制 所以写好一个常用的c ...

  2. c++ time_t

    type struct tm <ctime> Time structure Structure containing a calendar date and time broken dow ...

  3. jQuery弹出遮罩层效果完整示例

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. Ubuntu 12.04.2 安装 Oracle11gR2

    #step 1: groupadd -g 2000 dbauseradd -g 2000 -m -s /bin/bash -u 2000 griduseradd -g 2000 -m -s /bin/ ...

  5. 用ADO操作数据库的方法步骤

    用ADO操作数据库的方法步骤 学习ADO时总结的一些经验 - 技术成就梦想 - 51CTO技术博客 http://freetoskey.blog.51cto.com/1355382/989218   ...

  6. 如何让input number类型的标签不产生上下加减的按钮

    之前用 input type="number" 来放数字框,发现有个上下加减的东西,感觉不太好 这个容易出现0 然后减为负数 这种情况下怎么去掉右边的那个上下加减的小按钮呢?前端同 ...

  7. ZooKeeper(七)-- ZK原生API实现分布式锁

    一.使用场景 在分布式应用,往往存在多个进程提供同一服务.这些进程有可能在相同的机器上,也有可能分布在不同的机器上. 如果这些进程共享了一些资源,可能就需要分布式锁来锁定对这些资源的访问. 二.实现分 ...

  8. Maven(一)-- 基础知识

    一.Maven的基本概念 Maven(翻译为"专家","内行")是跨平台的项目管理工具.主要服务于基于Java平台的项目构建,依赖管理和项目信息管理. 1.项目 ...

  9. iOS 自动布局 Autolayout 优先级的使用

    一.约束的优先级 0.屏幕适配 发展历程 代码计算frame -> autoreszing(父控件和子控件的关系) -> autolayout(任何控件都可以产生关系) -> siz ...

  10. CALayer的position,anchorPoint属性 与UIView的frame 属性

    彻底理解CALayer的position,anchorPoint属性 与UIView的frame 属性 一.position,anchorPoint两者都是CALayer的属性,都是CGPoint点 ...