Perbaiki error softlockup yang disebabkan oleh penghapusan cgroups di instans ECS dengan melakukan upgrade versi kernel.
Deskripsi masalah
Error softlockup terjadi saat Anda menghapus cgroups di instans ECS, dengan tumpukan panggilan (call stack) yang mirip dengan berikut:
[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
Penyebab
Saat cgroups dihapus, kernel melakukan re-akuntansi halaman memori yang sedang digunakan ke hierarki cgroup induk. Jika cgroups tersebut mengonsumsi jumlah memori yang besar, proses ini membutuhkan waktu lama. Karena tidak ada titik penjadwalan (scheduling points) selama perhitungan tersebut, terjadi error softlockup.
Solusi
Penting
Sebelum melanjutkan, buat Snapshot untuk mencadangkan data instans guna mencegah kehilangan data. Lihat Create snapshot manually.
Langkah-langkah berbeda tergantung pada sistem operasi instans.
-
Jika instans Anda menjalankan CentOS, lakukan upgrade versi kernel.
-
Upgrade kernel:
yum update kernel -
Restart instans:
reboot -
Verifikasi bahwa versi kernel adalah 3.10.0-1160 atau lebih baru:
uname -r
-
Upgrade kernel:
- Jika instans Anda menjalankan Alibaba Cloud Linux, masalah ini tidak terjadi.
- Untuk sistem operasi lain, upgrade kernel ke versi 4.17 atau lebih baru.