生产环境mysql内存溢出重启简单分析

本文记录了一次MySQL数据库异常重启的故障排查过程。通过检查日志发现重启前内存使用率达到100%,并存在慢查询导致的问题。最终通过调整参数、优化SQL解决了问题,并计划增加服务器内存。

思路

1. 查看数据库日志

2. 查看慢查询

3. 查看系统日志

4. 查看监控

 

2017-01-03 03:03:48 0 170103 03:03:45 mysqld_safe Number of processes running now: 0

170103 03:03:45 mysqld_safe mysqld restarted   --异常重启

[Note] /usr/sbin/mysqld (mysqld 5.6.25-log) starting as process 104767 ...

2017-01-03 03:03:48 7f9bcd3f4720 InnoDB: Warning: Using innodb_additional_mem_pool_size is DEPRECATED. This option may be removed in future releases, together with the opt

ion innodb_use_sys_malloc and with the InnoDB's internal memory allocator.

2017-01-03 03:03:48 104767 [Note] InnoDB: Using atomics to ref count buffer pool pages

2017-01-03 03:03:48 104767 [Note] InnoDB: The InnoDB memory heap is disabled

2017-01-03 03:03:48 104767 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins

2017-01-03 03:03:48 104767 [Note] InnoDB: Memory barrier is not used

2017-01-03 03:03:48 104767 [Note] InnoDB: Compressed tables use zlib 1.2.3

2017-01-03 03:03:48 104767 [Note] InnoDB: Using Linux native AIO

2017-01-03 03:03:48 104767 [Note] InnoDB: Using CPU crc32 instructions

2017-01-03 03:03:48 104767 [Note] InnoDB: Initializing buffer pool, size = 4.0G

2017-01-03 03:03:48 104767 [Note] InnoDB: Completed initialization of buffer pool

2017-01-03 03:03:48 104767 [Note] InnoDB: Highest supported file format is Barracuda.

2017-01-03 03:03:48 104767 [Note] InnoDB: Log scan progressed past the checkpoint lsn 3021323914038

2017-01-03 03:03:48 104767 [Note] InnoDB: Database was not shutdown normally!

2017-01-03 03:03:48 104767 [Note] InnoDB: Starting crash recovery.

 

通过查看open-falcon 监控,发现数据库重启的时间内存使用率100%mysqld_safe具有安全保护机制,对于异常的关闭数据库,mysqld_safe 进程可以把mysqld 进程拉起来。我们当时的情况是,数据库被拉起来了,但是主库参数设置的是只读,影响了部分业务。后续调整了参数,把主库的只读参数设置为read_only=off。当然罪魁祸首是因为慢查询引起的。找到慢查询,提交给开发同事,修改sql之后,稳定下来,不过内存也确实太紧张了,没法再挺着了,准备扩一点内存,这个费用没法再节省了。










本文转自 roidba 51CTO博客,原文链接:http://blog.51cto.com/roidba/1890527,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值