Corrija o erro de softlockup causado pela exclusão de cgroups em uma instância ECS atualizando a versão do kernel.
Descrição do problema
Um erro de softlockup ocorre ao excluir cgroups em uma instância ECS, com uma pilha de chamadas semelhante à seguinte:
[3302742.447940] Kernel panic - not syncing: softlockup: hung tasks
[3302742.448677] CPU: 18 PID: 1 Comm: systemd Kdump: loaded Tainted: G OEL ------------ T 3.10.0-862.14.4.el7.x86_64 #1
[3302742.450167] Hardware name: Alibaba Cloud Alibaba Cloud ECS, BIOS 8a46cfe 04/01/2014
[3302742.462123] [] mem_cgroup_reparent_charges+0x16d/0x3c0
[3302742.463243] [] mem_cgroup_css_offline+0x84/0x140
[3302742.464327] [] cgroup_destroy_locked+0xea/0x370
[3302742.465414] [] cgroup_rmdir+0x22/0x40
[3302742.466434] [] vfs_rmdir+0xdc/0x150
[3302742.467449] [] do_rmdir+0x1f1/0x220
[3302742.468470] [] ? ____fput+0xe/0x10
[3302742.469495] [] ? task_work_run+0xc0/0xe0
[3302742.470578] [] SyS_rmdir+0x16/0x20
[3302742.471628] [] system_call_fastpath+0x22/0x27
Causa
Ao excluir cgroups, o kernel recalcula as páginas de memória em uso na hierarquia de cgroups pai. Se os cgroups consumirem muita memória, esse processo demora. Como não há pontos de agendamento durante o cálculo, ocorre um erro de softlockup.
Solução
Antes de prosseguir, crie snapshots para fazer backup dos dados da instância e evitar perda de dados. Consulte Crie snapshot manualmente.
Os procedimentos variam conforme o sistema operacional da instância.
-
Para instâncias CentOS, atualize a versão do kernel.
-
Atualize o kernel:
yum update kernel -
Reinicie a instância:
reboot -
Verifique se a versão do kernel é 3.10.0-1160 ou posterior:
uname -r
-
Em instâncias com Alibaba Cloud Linux, esse problema não ocorre.
Para outros sistemas operacionais, atualize o kernel para a versão 4,17 ou superior.