CentOS6.6上MySQL进程莫名挂起的诡异问题和处理
来源:互联网 发布:郑州网络诈骗最新新闻 编辑:程序博客网 时间:2024/05/17 22:52
CentOS6.6上进程挂起的诡异问题和处理
前几天公司一个项目的机器上的MySQL进程经常进入挂起状态,一个凌晨3点的mysqldump被阻塞到上午10点(唤醒了MySQL之后)才完成。找到的解决方法如下所示。
由于新的服务器不再支持CentOS5.4系统了,我们在新装机器上安装CentOS6.6。随着CentOS6.6机器的增多,我们逐渐注意到一个诡异问题:运行在这些机器上的某些进程,容易莫名其妙地挂起(举个例子,mysql可以连上,但命令收不到响应),也没有输出任何的错误日志,dmesg也看不到异常消息。比较容易卡住的服务有rabbitmq、mysql还有我们自己的几个Java服务程序。
一开始我们是通过重启服务来解决。然后我发现一个现象:就是如果使用gdb、strace、jstack -F命令来查看这些进程的运行情况,在查看之后服务会恢复正常。这样做比重启服务代价小,但随着机器增多,越来越不堪其扰。开始各种搜索,终于找到一个比较可能的问题原因:这是一个内核的Bug引起的。
参考链接:《Linux内核漏洞将影响Haswell架构服务器》 。摘要一下:在infoq网站上,Gil Tene最近报告一个十分重要,但并不为人知Linux内核补丁,特别对采用Haswell架构的Linux系统用户和管理员应该特别关注。报告提醒Red Hat发行版的用户(包括CentOS 6.6及Scientific Linux 6.6),即便是运行在虚拟机中的Linux,虚拟机在流行的Azure、Amazon云平台上,也可能运行在Haswell服务器上,立即更新这个补丁。这个内核漏洞的影响非常简单:在看似不可能情况下,用户进程会死锁并被挂起。即使被正确地唤醒,futex调用等待都有可能被阻止执行。如同Java里的Thread.park可能会一直阻塞等,若幸运可能会在dmesg日志中发现soft lockup消息;如果没那么幸运,将不得不花几个月的人工成本去排查问题,可能一无所获。
可以FQ的同学可以看下:https://groups.google.com/forum/#!topic/mechanical-sympathy/QbmpZxp6C64 。
这个问题的处理方法是升级内核:yum install kernel -y
后记:升级完内核后,此现象不再出现,说明升级内核是有效果的。升级完的内核版本用uname -a查看是:Linux XXX 2.6.32-642.1.1.el6.x86_64 #1 SMP Tue May 31 21:57:07 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux 。 升级之前是:Linux XXX 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
阅读全文
0 0
- CentOS6.6上MySQL进程莫名挂起的诡异问题和处理
- mysql临时文件产生多引起mysql 挂起的问题处理
- 挂起进程和进程的阻塞和挂起的区别
- 进程的阻塞和挂起
- Mysql 安装遇到的莫名问题
- Session超时和莫名丢失的处理
- aix上apache启动的诡异问题
- 进程的阻塞和挂起的区别
- 进程的阻塞和挂起的区别
- 进程的阻塞和挂起的区别
- 进程的阻塞和挂起的区别
- Linux 进程的挂起和恢复
- Linux 进程的挂起和恢复
- Linux 进程的挂起和恢复
- linux进程的挂起和恢复
- Linux 的进程挂起和恢复
- linux 进程的挂起和恢复
- UNIX/Linux 进程的挂起和恢复
- jetson TX2 使用筆記(Jetson-inference使用)
- java开发必会的Linux命令
- java基础-反射2(反射,反射操作对象,Class对象的使用,类型信息的获取)
- 计算机推荐书籍
- Glide、Picasso、Fresco进阶
- CentOS6.6上MySQL进程莫名挂起的诡异问题和处理
- shell script学习
- 傅立叶变换的实质-正交之美
- 获取地址栏
- 深度优先搜索 dfs Monk and Graph Problem
- MYSQL 查看最大连接数和修改最大连接数
- LeetCode【35】Search Insert Position
- HDU1251 统计难题(map)
- 关于php文件查找每一行的字符串与指定文件中的每一行的字符串