记录一个排查oom思路
2024-10-20 18:54:34
一、背景
客户反馈系统白屏,同时运维反馈内存占用多。项目包括数据库等,是部署在不同docker里的
二、查linux日志是linux将mysql杀掉了
egrep -i -r 'killed process' /var/log;
编辑搜图
然后系统内部实现了mysql挂了,过段时间自动拉起,所以mysql挂的那段时间客户感受是白屏
三、mysql5.7以上版本,默认开启performance_schema
SHOW VARIABLES LIKE 'performance_schema'; status
配置启动performance_schema
performance_schema = ON
4、内存相关的表
use performance_schema; show tables like '%memory%';
5、查看总消耗内存
select * from sys.memory_global_total;
编辑搜图
六、查看总体内存占用情况
select event_name,CURRENT_NUMBER_OF_BYTES_USED/1024/1024 from performance_schema.memory_summary_global_by_event_name order by CURRENT_NUMBER_OF_BYTES_USED desc LIMIT 20;
编辑搜图
七、线程内存占用情况
select thread_id,event_name,CURRENT_NUMBER_OF_BYTES_USED/1024/1024 from performance_schema.memory_summary_by_thread_by_event_name order by CURRENT_NUMBER_OF_BYTES_USED desc limit 20;
编辑搜图
八、总结
到此就分析结束了,从上述可以发现msyql内存并没有占用很多内存。mysql被杀掉的原因是:其他容器内存占用过高,但是linux的规则是谁的评分高就先kiil谁,并不是根据内存占用来做的。
最新文章
- ios官方菜单项目重点剖析附项目源码
- 【bzoj3110】 Zjoi2013—K大数查询
- slf4i + logback 配置
- android_audio
- C/C++安全编码-字符串
- 用Zephir编写PHP扩展
- State模式学习笔记
- Linq学习(主要参考linq之路)----2LINQ方法语法
- HTML5 Canvas圆盘抽奖应用(适用于Vue项目)
- HDU D Tree [点分治]
- jQuery 嵌套 event 会触发多次的原因
- 动态创建数据table
- SpringBoot MVC 拦截器
- Crypto++入门学习笔记(DES、AES、RSA、SHA-256)
- Android——进程通信/ AIDL/Message相关知识总结贴
- Linux systemd limits
- mysql链接
- vs2017控制python版本
- poj1292
- fhq treap 学习笔记