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 ...
随机推荐
- JS发送短信验证码
<div> <input type="tel" id="mobile" name="mobile" placeholder ...
- JAVA比较两个List集合的方法
import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.H ...
- 高危Windows系统 SMB/RDP远程命令执行漏洞 手工修复办法
1.Windows Update更新补丁方式: 更新方法:点击“开始”->“控制面板”->“Windows Update” ,点击“检查更新”-“安装更新”: 2.检查安装结果: 点击“ ...
- iOS UI基础-16.0 UIButton
回归自然,UIButton是我们使用最频烦的一个控件.下面,对该控件的一些常用方法进行一些总结. UIButton *payStateBtn = [UIButton buttonWithType:UI ...
- java开发前的配置
JAVA语言是1995年由Sun公司退出的一门高级编程语言,在2009年4月20被ORACLE公司收购 看看java体系图
- Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
严重: Exception sending context initialized event to listener instance of class org.springframework.we ...
- SQLSetStmtAttr
SQLSetStmtAttr 函数定义: Stmt是用来执行SQL语句的句柄,这个函数是用来设置她的属性的 SQLRETURN SQLSetStmtAttr( SQLHSTMT , 这是由游标 ...
- WEB应用程序:AJAX全套
概述 对于WEB应用程序:用户浏览器发送请求,服务器接收并处理请求,然后返回结果,往往返回就是字符串(HTML),浏览器将字符串(HTML)渲染并显示浏览器上. 1.传统的Web应用 一个简单操作需要 ...
- 城市里的间谍B901
城市里的间谍 城市里的间谍 难度级别:C: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 某城市的地铁是线性的,有 n(2 <= n ...
- Jmeter下进行ip伪造
转至https://blog.csdn.net/xingchao416/article/details/53506051 1.首先获取一些闲置的ip地址,且必须为固定地址,不能是自动获取的地址,方法: ...