关于操作系统:这-8-类问题SysOM-20-OOM-诊断助你快速定位异常-龙蜥技术

37次阅读

共计 1898 个字符,预计需要花费 5 分钟才能阅读完成。

文 / 刘馨蔚,零碎运维 SIG Contributor

小 A 筹备上班时,忽然收到云上专门对接客户火线共事的电话。“小 A,小 A,一个咱们游戏的大客户的集群出了问题,影响了业务,须要紧急排查一下”,小 A 也听出了紧急,放下包叹了口气,心想“刚和老婆说回去吃饭呢,看来赶不上咯”。小 A 立马回到办公桌向火线共事理解详细情况,原来这个大客户云上 pod 内业务忽然不可用,查看后发现有 OOM Killed 的报警,然而发现 pod 的应用内存并没有到阈值 limit 的 8G,申请排查 OOM 的起因并心愿给出相干倡议防止同样状况再次发生。

小 A 具体理解状况后,定位到是和 OOM 相干的问题。这时小 A 忽然想到了团队内开发了针对 OOM 的诊断剖析的性能,再向共事确认客户也装置了 SysOM 后倡议客户立马进行 SysOM 中的 OOM 诊断。依据 OOM 诊断后诊断出了如下后果:

图中能够看出产生了两次 OOM,并且狐疑有内存透露,内核占用了近 5G 的内存,将这个后果和火线共事对齐后,联合客户的系统日志“TCP out of memory.”等字样,排查出问题的起因是业务接收数据不及时,导致数据驻留在内核中。此时倡议客户优化业务程序,及时处理接管队列中的数据报文,并通过重启业务止血。

火线的共事纷纷点赞小 A 的排查速度和 SysOM 中诊断性能的省时省力,还让小 A 连忙介绍一下 SysOM 的这个 OOM 诊断。小 A 也对这个工具也非常相熟,就和火线的共事好好介绍了介绍:

OOM(Out of memory) 是日常或生产环境中比拟容易碰到的异样,当 OOM 产生时个别随同着在内核日志中打印相干异样信息和某个过程被 Kill 掉的景象:

test invoked oom-killer: gfp_mask=0x6280ca(GFP_HIGHUSER_MOVABLE|__GFP_ZERO), nodemask=(null), order=0, oom_score_adj=0

OOM 产生在 Linux 在整机或 cgroup 残余内存低于水线时,如果通过内存回收、规整等形式都无奈满足内存调配操作,便会触发 OOM killer 流程来强行开释过程内存,如下图所示:

有一部分小伙伴感觉 OOM 基本不算什么异样,甚至如果不看日志的话基本没有感知到;然而有一部分小伙伴却深受 OOM 的“迫害”,因为 OOM 可能会导致要害业务中断,甚至零碎无奈失常运行等景象。SysOM 的 OOM 诊断能够检测 8 类 OOM 的问题,具体如下图所示:

当产生了 OOM 的问题时,能够通过 SysOM 的 OOM 检测来对系统的 OOM 提供疾速检测、剖析和提供修复倡议。

例如整机内存低于水线时,通过 SysOM 的 OOM 诊断能够失去如下界面:

SysOM 检测页面给出了 OOM 过后的内存状况、产生起因和应用内存 TOP 10 的内存应用排名,结果表明这是属于 host 内存 limit 造成的 OOM。这种状况下咱们能够:

1、先评估应用内存多的业务过程内存占用是否正当,必要时优化业务过程内存申请量。

2、还排查过程 oom_score_adj 设置是否正当,不合理的 oom_score_adj 值会导致过程占用大量内存而不被 kill 掉。

例如 cgroup 产生 OOM 时,通过 OOM 诊断能够失去如下界面:

能够看到是因为过程 test 所在的 cgroup mm_test 产生 OOM,起因为 cgroup 内存 usage 达到 limit 值 (90M)。这种状况下咱们可能比拟疾速间接的判断出是 cgroup 内存 usage 达到了下限,咱们能够调整应用状况或者 cgroup 的内存可用下限。除了应用达到 limit,oomcheck 还有检测 shmem 透露导致的 OOM。

总的来说,OOM 次要能够分为整机和 cgroup 级别的异样,SysOM 中的 OOM 诊断能够疾速精确的定位到零碎产生的 OOM 异样,从而用户能够依据不同的起因利用不同的办法解决 OOM。

小 A 向火线共事介绍完后,大家都示意当前的问题排查、诊断效率必定有很大的晋升。和共事、客户都交接好后,小 A 感叹着 SysOM 对系统、内核的各种诊断能力的健全,省时省力,疾速定位到异样问题的同时也可能指引下一步解决方案。哼着小曲儿回家后,小 A 发现老婆热的汤还是暖呼呼的呢。

龙蜥大讲堂 SysOM 2.0 系列直播《SysOM 2.0 内存相干性能介绍》中解说了内存诊断核心性能的根本应用和利用场景,展现了三个内存诊断的应用参数和后果剖析,也在官网上进行了实时演示。视频回放及 PPT 课件获取见下:

【PPT 课件获取】:关注微信公众号(OpenAnolis),回复“龙蜥课件”即可获取。有任何疑问请随时征询龙蜥助手—小龙(微信:openanolis_assis)。

【视频回放】:视频回放可返回龙蜥官网查看。

—— 完 ——

正文完
 0