文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

OOM导致MySQL服务被kill案例一则

2019-02-21 06:24

关注

OOM导致MySQL服务被kill案例一则

看到这个 故障分析 | MySQL OOM 故障应如何下手,想起来几天前也遇到一次MySQL服务因为OOM被杀掉的情况,记录一下

 

背景:
一个测试环境,由于Centos系统上没有设置虚拟内存,运行的MySQL实例buffer_pool_size配置的有不合理,运行了一个较大的查询

现象:
前端工具执行某个sql,一点击执行,过几秒钟连接客户端显式断开MySQL连接,第一次没在意,以为是刚好遇到网络问题导致的。
因此又重新刷新连接,重新执行,然后又数据库连接又断开,于是又刷新连接,又执行又断开……,奇怪的是每次反复连接断开连接断开连接断开……
完全相同的现象反复几次之后,才意识到哪里好像的不对劲,难特么道谁在玩我?
感觉是MySQL服务被重启了,因为网络不可能总是在执行查询的时候出现故障,于是查看MySQL启动时间:

SELECT DATE_ADD(NOW(),INTERVAL -variable_value SECOND) AS startup_datetime 
FROM performance_schema.global_status WHERE variable_name = "Uptime"

果不其然,从当时的时间点来看,刚刚启动了不到一分钟,看MySQL的errorlog,只是反复记录MySQL重启恢复,Starting crash recovery...,Crash recovery finished.

MySQL自身的errorlog中是看不到什么问题了,只能拉出来系统日志,MySQL的服务进程竟然是OOM后被系统杀掉了,然后才回头追溯各种配置,/var/log/message

后面其实还是有点疑惑,为什么没有吧这个OOM的信息记录到MySQL自己的error log中呢?mysql自己的error log也只记录了重启恢复的过程。
可能是,连MySQL自己都被杀掉了,谁来记这个日志呢。
不过好在是,mysqld进程被杀掉之后,一直在自动被唤醒,这下可以深刻地一直到mysql_safe进程的作用了,

 

教训
包括数据库和操作系统在内,一些基础配置还是要做好的,MySQL的配置可以自己把控,虚拟内存究竟多大,专业的事交给专业的人,也是一个专业问题。

 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯