记一次oom_kill的排查
在近期的开发中出现过:
因算法进程占用最高的内存而在系统发生oom时被kill,通过排查,发现主要原因不在于应用程序,虽然应用有些迹象出现内存泄露,但泄露很小或因系统内存回收延时,真正的原因出现于系统的交换分区的配置上:
系统情况:nx板子,4~6核,8G内存,ssd,128G,ubuntu系统
应用情况:rabbitmq,python、qt做的界面系统,算法
外设情况:连接布控球(摄像头)
网络情况:ap-wifi,eth0预留,eth1连接布控球
内存情况:物理内存:8G , swap分区:4个zram[0-4] 3.8G*4 = 15.2G 总内存约23G
使用内存情况:主要是算法需要12G以上的内存,所以需要用上ssd的空间做交换分区,用zram?zswap?zswap?
出现问题的情况:当算法运行到8G+5G(swap)时,系统就out of memory,触发了oom-kill
分析及解决方案:
1、使用zram在这个需求上是错误的,zram可以理解为通过占用一定的内存进行压缩(lzo,lz4压缩,压缩率应该是3:1),变相增加内存的量,优点,速度快,比硬盘的swap应该是快多了,所以不管zram设定多大,在这个8G的设备上,最大的内存量=8G~16G,23G的总内存应该是假,才会当算法跑到8+5G时出问题了,当测试程序跑到8+7G也出问题了。
2、解决方案,此场景下可能用zswap+swap是最合适的,比swap快。
由于系统方案已定,不能修正,所以临时以下给出swap的方案,用硬盘文件做16Gswap:
swaps="/tmp/swaps" sw_mem=$((16*1024*1024*1024)) if [ ! -f $swaps ]; thensudo swapoff -asudo fallocate -l $sw_mem $swapssudo chmod 600 $swapssudo mkswap $swapssudo swapon -p 10 $swaps fi exit 0
记一次oom_kill的排查相关推荐
- golang 记一次data race排查过程
golang 记一次data race排查过程 背景 data race 现场 解决思路 经验总结 data race在写并发代码时候经常遇到,相关基础概念的介绍可以参考之前一篇文章:golang d ...
- 坑爹坑娘坑祖宗的87端口(记一次tomcat故障排查)
参考:http://www.cnblogs.com/liuxianan/p/err_unsafe_port.html?ref=myread 问题来源 因为经常有各种各样的大小项目要跑,全部放一个tom ...
- 记一次MongoDB故障排查的过程
数据技术嘉年华等你来 预告:11.16-17日,北京市东三环中路61号富力万丽酒店,相聚数据技术嘉年华,(99元票务)免费购票倒计时,点击查看大会详情. 张甦老师带来主题"双剑合璧带你走进M ...
- 信息系统故障分析案例---------记一次性能检测系统故障排查
2018年10月10日凌晨2点接到信调值班员电话,单位信息运维统一监管(I6XXX)系统报警显示公司门户和网站系统性能检测报警,页面访问响应时长和模拟登录功能异常,实际情况是网站和门户系统运行正常,稍 ...
- 记一次Kafka warning排查过程
1.前因 在配合测试某个需求的时候,正好看到控制台打印了个报错,如下: 2023-03-06 17:05:58,565[325651ms][pool-28-thread-1][org.apache.k ...
- 记一次网站故障排查过程(nginx 504状态码、 upstream timed out (110: Connection timed out)以及jbd2引起IO高
一.问题描述 客户侧反馈无法正常访问系统,页面转圈,时好时坏,访问不稳定. 二.系统环境: 机器环境:UOS . nginx .php(对接其他服务器kingbase .钉钉.redis .KF) E ...
- 【磁盘空间100%】记一次生产问题排查
1.收到告警,/apps目录下磁盘空间使用率高于99% 2.登陆服务器,使用df -h查看各目录挂载点以及磁盘空间使用率 3.确认apps下使用率确实超过99%,逐步排查 4.查看apps下各目录所占 ...
- 记一次OOM问题排查过程
上周运维反馈线上程序出现了OOM,程序日志中的输出为 Exception in thread "http-nio-8080-exec-1027" java.lang.OutOfMe ...
- 记一次SOFA内存泄漏排查过程
记一次内存泄漏排查过程 起因 某天中午大家还在安静的午休,睡得正香的时候突然被一阵手机滴-滴滴直响短信惊醒.一看是应用的服务器告警并且对应服务的所有机器都在告警"健康检查失败,自动拉下线&q ...
最新文章
- linux复杂逻辑判断,20.5 shell脚本中的逻辑判断
- VTK:小部件之LineWidget2
- 用 Visual Studio Code 在 macOS 上创建首个 ASP.NET Core 应用程序
- python爬虫知识点总结(七)PyQuery详解
- Linux Bash命令关于程序调试详解
- 编译libpng出错:pnglibconf.c fatal error: zlib.h 没有那个文件或目录
- 机器人三大定律只是人类的一厢情愿 AI可能并不遵守
- 优思学院|精益生产的前世今生
- 剑网三插件入门教程(2):在游戏中调试Lua代码
- ear的英语怎么念_不一样的高阶美式英语视频字母表 - A到I
- JS 小坑 - AJAX请求的小坑,请求接口404
- Android原生系统开发如何优雅的提供系统级的API供第三方程序调用?
- linux下的磁盘状态查看方式
- android 动态渐变,Android 动态修改渐变 GradientDrawable
- 【考研数学】一文搞定不等式
- 说话不要急,更不能乱,想说什么就说什么,那就是想死
- 人生的转折点人生的遗憾
- 报名照片太大怎么压缩?压缩图片到固定大小的方法
- NetFlow学习笔记
- 品牌定位个性六种形态及结论的重大意义
热门文章
- 【githubgirl】自主导航无人机的硬件组成与搭建方案
- 高通平台 mipi转接屏调试 (以转lvds icn6202例)
- win11 更新后无法打开商店、记事本、设置、计算器等内置应用的解决办法【亲测有效】
- 谭浩强C++ 第四章
- 电脑本地,WiFi都能连上,但就是上不去网
- python小游戏 吃豆人小游戏设计与实现
- zabbix3.0版本部署使用
- ESL3.4 学习笔记(奇异值分解与拉格朗日乘子法下的岭回归,Lasso回归,最小角回归及三者对比分析)
- 【树莓派分享——Raspberry Pi 官方系统安装及VNC查看器显示】
- 遗传算法——君主方案代码实现