赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 云服务器 ECS
  4. 服务支持
  5. 实例宕机问题
  6. ECS实例宕机并产生“Objects remaining in kmalloc”告警日志,如何处理?

ECS实例宕机并产生“Objects remaining in kmalloc”告警日志,如何处理?

  • 实例宕机问题
  • 发布于 2025-04-01
  • 0 次阅读
文档编辑
文档编辑

如果您在ECS实例内使用memory cgroup kmem功能时内核存在Objects remaining in kmalloc告警日志,且实例出现宕机,则可以参考本文提供的方案解决问题。

问题现象

当您在ECS实例内使用memory cgroup kmem功能时,内核有类似于如下所示的告警日志,且实例出现了宕机。

[80569.393775] BUG kmalloc-256(15:94ef869ce655ebab64b08cd78ee00d16c20efd5737493b48293de41fe41b04a0) (Tainted: P    B   W  OE  ------------ T):
Objects remaining in kmalloc-256(15:94ef869ce655ebab64b08cd78ee00d16c20efd5737493b48293de41fe41b04a
[80569.397756] -----------------------------------------------------------------------------
[80569.397756]
[80569.400724] INFO: Slab 0xffffea0001e94a00 objects=32 used=1 fp=0xffff88007a528000 flags=0x1fffff00004080
[80569.402702] CPU: 21 PID: 26626 Comm: dockerd Tainted: P    B   W  OE  ------------ T 3.10.0-693.2.2.el7.x86_64 #1
[80569.404898] Hardware name: Alibaba Cloud Alibaba Cloud ECS, BIOS 8f19b21 04/01/2014
[80569.406747]  ffffea0001e94a00 000000004eb9a19f ffff883afee53aa0 ffffffff816a3db1
[80569.408833]  ffff883afee53b78 ffffffff811dbf54 ffffffff00000020 ffff883afee53b88
[80569.410731]  ffff883afee53b38 656a624f8190fff8 616d657220737463 6e6920676e696e69
[80569.412630] Call Trace:
[80569.414005]  [<ffffffff816a3db1>] dump_stack+0x19/0x1b
[80569.415627]  [<ffffffff811dbf54>] slab_err+0xb4/0xe0
[80569.417204]  [<ffffffff811e0623>] ? __kmalloc+0x1e3/0x230
[80569.420419]  [<ffffffff811e1939>] kmem_cache_close+0x149/0x2e0
[80569.422006]  [<ffffffff811e1ae4>] __kmem_cache_shutdown+0x14/0x80
[80569.423606]  [<ffffffff811a6874>] kmem_cache_destroy+0x44/0xf0
[80569.425149]  [<ffffffff811f6019>] kmem_cache_destroy_memcg_children+0x89/0xb0
[80569.426800]  [<ffffffff811a6849>] kmem_cache_destroy+0x19/0xf0
[80569.428309]  [<ffffffff8123b18e>] bioset_free+0xce/0x110
[80569.431306]  [<ffffffffc06d0b43>] dm_destroy+0x13/0x20 [dm_mod]
[80569.432803]  [<ffffffffc06d69be>] dev_remove+0x11e/0x180 [dm_mod]
[80569.435851]  [<ffffffffc06d7015>] ctl_ioctl+0x1e5/0x500 [dm_mod]
[80569.437363]  [<ffffffffc06d7343>] dm_ctl_ioctl+0x13/0x20 [dm_mod]
[80569.438882]  [<ffffffff8121524d>] do_vfs_ioctl+0x33d/0x540
[80569.443291]  [<ffffffff812154f1>] SyS_ioctl+0xa1/0xc0
[80569.446228]  [<ffffffff816b5009>] system_call_fastpath+0x16/0x1b

问题原因

您使用memory cgroup kmem功能的过程中,kmem_cache_destroy在销毁kmem_cache时,会先删除memcg cache再检查refcount是否为0。由于refcount不为0,因此可能存在其他合法任务尝试通过当前kmem_cache的memcg cache分配slab,进而导致race触发宕机。

解决方案

重要

在操作前,建议您为ECS实例创建快照备份数据,避免因误操作造成的数据丢失。创建快照的具体操作,请参见创建一个云盘快照。

建议您在ECS实例内,统一关闭memory cgroup kmem功能。操作步骤如下:

  1. 运行以下命令,打开/etc/default/grub文件。

    vim /etc/default/grub
  2. 按i键进入编辑模式,在GRUB_CMDLINE_LINUX中添加以下配置信息。

    cgroup.memory=nokmem

    OS

  3. 按Esc键退出编辑模式,并输入:wq后按Enter键,保存退出文件。

  4. 运行以下命令,更新GRUB。

    grub2-mkconfig -o /boot/grub2/grub.cfg
  5. 运行以下命令,重启ECS实例。

    reboot

如果您的操作系统无法通过命令行(cmdline)关闭memory cgroup kmem,则建议您在ECS实例内的任何程序均不配置memory.kmem.limit_in_bytes的值。即可保证memory cgroup kmem功能未开启。

相关文章

ECS实例宕机并产生“Objects remaining in kmalloc”告警日志,如何处理? 2025-04-01 12:00

如果您在ECS实例内使用memory cgroup kmem功能时内核存在Objects remaining in kmalloc告警日志,且实例出现宕机,则可以参考本文提供的方案解决问题。

ECS实例宕机并产生“RIPget_target_pstate_use_performance”日志,如何处理? 2025-04-01 12:00

如果您的ECS实例在启动过程中宕机,且产生了RIP:get_target_pstate_use_performance日志,则可以参考本文提供的方案解决问题。

ECS实例宕机并产生“VFS Unable to mount root fs on unknown-block”日志,如何处理? 2025-04-01 12:00

如果您的ECS实例在启动过程中循环宕机,且产生了VFS: Unable to mount root fs on unknown-block日志信息,则可以参考本文提供的方案解决问题。

ECS实例宕机并报错“Out of memory and no killable processes”如何处理? 2025-04-01 12:00

如果您的ECS实例出现宕机,并且报错日志中存在Out of memory and no killable processes信息,则可以参考本文提供的方案解决问题。

Linux系统实例的宕机问题排查 2025-04-01 12:00

当Linux操作系统的ECS实例在运行过程中出现内核panic、内存溢出OOM(Out Of Memory)、蓝屏卡死等问题或收到系统事件通知实例出现操作系统崩溃时,说明该ECS实例发生宕机,您可以通过自助诊断工具或系统内核日志来定位问题并解决。 定位宕机原因 您可以通过以下方式,定位发生宕机的具体

vSwitch中实例数量过多导致CentOS实例夯机或异常重启问题的解决方案 2025-04-01 12:00

本文介绍CentOS 7系统并且内核版本为3.10.0-514的实例,当其所在的VPC网段中实例过多时,可能会触发Linux内核问题,导致实例夯机或者异常重启的问题原因及解决方案。 问题现象

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号