centos6下jbd2进程占用大量IO处理
刚在尝试重现一个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处理的更多相关文章
- linux下查看进程占用端口和端口占用进程命令
Linux下查看进程占用端口: 查看程序对应进程号:ps –ef|grep 进程名 REDHAT :查看进程号所占用的端口号:netstat –nltp|grep 进程号 ubuntu:查看进程占用端 ...
- linux下查询进程占用的内存方法总结
linux下查询进程占用的内存方法总结,假设现在有一个「php-cgi」的进程 ,进程id为「25282」.现在想要查询该进程占用的内存大小.linux命令行下有很多的工具进行查看,现总结常见的几种方 ...
- linux 下查看进程占用端口和端口号占用进程命令
linux 下查看进程占用端口:(1)查看程序对应的进程号: ps -ef | grep 进程名字 (2)查看进程号所占用的端口号: netstat -nltp | grep 进程号 ubuntu ...
- Linux下查看进程占用内存的最好方式
今天看到stackoverflow上关于linux下如何查看某个进程占用的内存是多少的回答,觉得非常棒,不过是全英文的,很多人可能看不懂,所以我翻译一下 翻译自http://stackoverflow ...
- linux查看哪个进程占用磁盘IO
方法一: $ iotop -oP 命令的含义:只显示有I/O行为的进程 测试结果: 方法二: $ pidstat -d 1 命令的含义:展示I/O统计,每秒更新一次 测试结果:
- 6.Linux查看哪个进程占用磁盘IO
$ iotop -oP命令的含义:只显示有I/O行为的进程
- win/linux 下使用 psutil 获取进程 CPU / memory / IO 占用信息
psutil - A cross-platform process and system utilities module for Python 1. 安装 pip 安装即可. windows 下需要 ...
- Linux下查看哪些进程占用的CPU、内存资源
1.CPU占用最多的前10个进程: ps auxw|head -1;ps auxw|sort -rn -k3|head -10 2.内存消耗最多的前10个进程 ps auxw|head -1;ps a ...
- Linux下查看端口占用进程号,程序名的方法
Linux下查看端口占用进程号,程序名的方法,方便我们查找什么进程导致系统变慢等需要.linux下查看端口占用情况: 1. 查看哪个进程占用了819端口: case9-sghfofo:/usr/loc ...
随机推荐
- npm发布包--所遇到的问题
npm发布包: 解决方案--npm adduser的坑:http://www.tuicool.com/articles/FZbYve npm ERR publish 403,nodejs发布包流程 : ...
- MSSqlServer 发布/订阅配置(主从同步)
背景: 1.单个独立数据库的吞吐量是有瓶颈的,那么如何解决这个瓶颈? 2.服务器直接数据如何复制.并具备一致性.可扩展性? 资源: 官方资源:https://technet.microsoft.com ...
- usermod命令详解
转载自:http://blog.51cto.com/urchin/987186 usermod - 修改用户帐户信息 modify a user account usermod [options] u ...
- spring 对jdbc的简化
spring.xml <!-- 加载属性配置文件 --> <util:properties id="db" location="classpath:db ...
- mint-ui Picker的使用
<template> <div v-bind:style="{minHeight:clientHeight + 'px'}" id="recive-mi ...
- MyBatis基础入门《十六》缓存
MyBatis基础入门<十六>缓存 >> 一级缓存 >> 二级缓存 >> MyBatis的全局cache配置 >> 在Mapper XML文 ...
- Python全栈-day15-day16-常用模块
1.time模块 1)时间戳 import time# 通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量 # 偏移量的是float类型 start_time = tim ...
- web.config 特殊字符转义
字符 转义码 & 符号 & & 单引号 ' ' 双引号 " " 大于 > > 小于 < <
- 20155228 2016-2017-2 《Java程序设计》第9周学习总结
20155228 2016-2017-2 <Java程序设计>第9周学习总结 教材学习内容总结 整合数据库 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则 ...
- 【Redis学习之五】Redis数据类型:列表和散列
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 redis-2.8.18 一.列表 基于Linked Lis ...