刚在尝试重现一个bug时,好像在killed mysql一段时间之后,io一直很高,如下:

12:40:01 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
12:50:01 PM all 12.86 0.00 14.40 1.58 0.00 71.16
01:00:01 PM all 13.38 0.00 15.34 1.50 0.00 69.79
01:10:01 PM all 34.34 0.00 21.24 2.13 0.00 42.29
01:20:01 PM all 36.03 0.00 22.13 3.45 0.00 38.40
01:30:01 PM all 36.80 0.00 21.43 2.53 0.00 39.24
01:40:01 PM all 36.86 0.00 20.56 2.26 0.00 40.32
01:50:01 PM all 38.22 0.00 19.26 2.10 0.00 40.41
02:00:01 PM all 36.12 0.00 20.52 1.80 0.00 41.56
02:10:02 PM all 43.75 0.00 20.05 1.97 0.00 34.23
02:20:01 PM all 39.93 0.00 19.16 2.10 0.00 38.81
02:30:01 PM all 43.93 0.00 19.38 5.43 0.00 31.26
02:40:01 PM all 40.27 0.00 21.20 2.21 0.00 36.32
02:50:01 PM all 39.17 0.00 21.56 2.10 0.00 37.16
03:00:01 PM all 48.89 0.00 19.51 4.21 0.00 27.38
03:10:01 PM all 25.04 0.00 16.64 13.96 0.00 44.37
03:20:01 PM all 13.49 0.00 18.75 15.09 0.00 52.67
03:30:01 PM all 12.69 0.00 17.68 15.35 0.00 54.27
03:40:01 PM all 17.22 0.00 13.42 15.50 0.00 53.86
03:50:01 PM all 19.16 0.00 10.48 14.86 0.00 55.49
04:00:01 PM all 11.95 0.00 14.80 15.52 0.00 57.73

iotop了一下,jbd2进程占用大量IO处理,搜索了下,关于jbd2,jbd2是ext4文件系统的一部分。ext4文件系统出现过此bug,bug原理大致是,文件的写和请求会导致其中一个int型的值不断增大,最后增大到超出了自身的范围 —— 变成负值 。就会触发该bug ,而想要达到该值并不容易,需要几个月后才会出现。

解决方法:

1、yum升级kernel ,重启查看是否有效。(在此之前先要做好备机使用的准备工作)

2、重装系统分区,完成后重新挂载数据分区。

3、验证临时补丁的可用性。并在现网修复。

参考:http://www.361way.com/ext4-jbd2-io-bug/2963.html

centos6下jbd2进程占用大量IO处理的更多相关文章

  1. linux下查看进程占用端口和端口占用进程命令

    Linux下查看进程占用端口: 查看程序对应进程号:ps –ef|grep 进程名 REDHAT :查看进程号所占用的端口号:netstat –nltp|grep 进程号 ubuntu:查看进程占用端 ...

  2. linux下查询进程占用的内存方法总结

    linux下查询进程占用的内存方法总结,假设现在有一个「php-cgi」的进程 ,进程id为「25282」.现在想要查询该进程占用的内存大小.linux命令行下有很多的工具进行查看,现总结常见的几种方 ...

  3. linux 下查看进程占用端口和端口号占用进程命令

    linux 下查看进程占用端口:(1)查看程序对应的进程号: ps -ef | grep 进程名字 (2)查看进程号所占用的端口号: netstat -nltp | grep  进程号 ubuntu ...

  4. Linux下查看进程占用内存的最好方式

    今天看到stackoverflow上关于linux下如何查看某个进程占用的内存是多少的回答,觉得非常棒,不过是全英文的,很多人可能看不懂,所以我翻译一下 翻译自http://stackoverflow ...

  5. linux查看哪个进程占用磁盘IO

    方法一: $ iotop -oP 命令的含义:只显示有I/O行为的进程 测试结果: 方法二: $ pidstat -d 1 命令的含义:展示I/O统计,每秒更新一次 测试结果:

  6. 6.Linux查看哪个进程占用磁盘IO

    $ iotop -oP命令的含义:只显示有I/O行为的进程

  7. win/linux 下使用 psutil 获取进程 CPU / memory / IO 占用信息

    psutil - A cross-platform process and system utilities module for Python 1. 安装 pip 安装即可. windows 下需要 ...

  8. Linux下查看哪些进程占用的CPU、内存资源

    1.CPU占用最多的前10个进程: ps auxw|head -1;ps auxw|sort -rn -k3|head -10 2.内存消耗最多的前10个进程 ps auxw|head -1;ps a ...

  9. Linux下查看端口占用进程号,程序名的方法

    Linux下查看端口占用进程号,程序名的方法,方便我们查找什么进程导致系统变慢等需要.linux下查看端口占用情况: 1. 查看哪个进程占用了819端口: case9-sghfofo:/usr/loc ...

随机推荐

  1. HTTP请求响应报文 - 相关状态码 - GET_POST请求方法

    HTTP请求报文: 一个HTTP请求报文由四个部分组成:请求行.请求头部.空行.请求数据 1.请求行 请求行由请求方法字段.URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔.比如 GET ...

  2. iOS 内存管理分析

    内存分析 静态分析(Analyze) 不运行程序, 直接检测代码中是否有潜在的内存问题(不一定百分百准确, 仅仅是提供建议) 结合实际情况来分析, 是否真的有内存问题 动态分析(Profile == ...

  3. iOS UI进阶-6.0 手势

    给每个页面添加手势,只需要统一设置不是根控制器的页面,都增加手势.需要自定义导航控制器 1.继承代理 @interface BSNavigationController ()<UIGesture ...

  4. cocos2d JS 自定义事件分发器(接收与传递数据) eventManager

    简而言之,它不是由系统自动触发,而是人为的干涉 较多情况用于传递数据 var _listener1 = cc.EventListener.create({ event: cc.EventListene ...

  5. 点击地面时,若鼠标点击的偶数次使得Cube向点击点移动,并且点击奇数次Cube变色

    using System.Collections; using System.Collections.Generic; using UnityEngine; public class ray10 : ...

  6. Javascript-数据类型转换 、 运算符和表达式

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. QT自定义消息

    1.派生QAbstractNativeEventFilter,重写nativeEventFilter()函数 #ifndef CMYMESSAGEHANDLER_H #define CMYMESSAG ...

  8. html5-新元素新布局模板-完善中

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  9. mysql分区/分片

    一.分区概念 mysql 5.1 以后支持分区, 有点类似MongoDB中的分片概念. 就是按照一定的规则, 将一个数据库表分解成很多细小的表, 这些细小的表可以是物理的分区, 就是在不同的位置. 但 ...

  10. Linux QtCreator 编译报错:No rule to make target '.../***' needed by '***.o'.stop

    Linux QtCreator 编译报错:No rule to make target 'mainwindow.cpp'  needed by  'mainwindow.o'.stop [1]解决方案 ...