Kernel Linux versi sebelum 4.15 dapat memicu error softlockup selama proses writeback cache file. Lakukan upgrade kernel untuk mengatasi masalah ini.
Gejala
Pada instans ECS Linux dengan versi kernel sebelum 4.15, terjadi error softlockup selama proses writeback cache file. Tumpukan panggilan (call stack) berikut dihasilkan.
Jalankan uname -r untuk memeriksa versi kernel. Misalnya, jika output-nya adalah 3.10.0-514.26.2.el7.x86_64, maka versi kernel-nya adalah 3.10.0. Dalam topik ini, versi 4.15 merujuk pada 4.15.0.
[3507707.671883] [<ffffffff8127cf7a>] redirty_tail+0x3a/0x40
[3507707.671884] [<ffffffff81280ea4>] __writeback_inodes_wb+0x64/0xc0
[3507707.671885] [<ffffffff81281238>] wb_writeback+0x268/0x300
[3507707.671887] [<ffffffff812819f4>] wb_workfn+0xb4/0x380
[3507707.671889] [<ffffffff810a5dc9>] process_one_work+0x189/0x420
[3507707.671890] [<ffffffff810a625b>] worker_thread+0x1fb/0x4b0
[3507707.671891] [<ffffffff810a6060>] ? process_one_work+0x420/0x420
[3507707.671893] [<ffffffff810ac696>] kthread+0xe6/0x100
[3507707.671894] [<ffffffff810ac5b0>] ? kthread_park+0x60/0x60
[3507707.671897] [<ffffffff81741dd9>] ret_from_fork+0x39/0x50
Penyebab
Ketika memori instans ECS tidak mencukupi, kernel sering memanggil wakeup_flusher_threads, sehingga membuat terlalu banyak tugas writeback (wb_writeback_work). Thread writeback menjadi macet saat memproses tugas-tugas tersebut, sehingga memicu error softlockup.
Solusi
Perbarui kernel ke versi yang lebih baru dari 4.15. Alibaba Cloud Linux tidak terpengaruh karena menggunakan kernel versi 4.19. Langkah-langkah berikut berlaku untuk distribusi Linux lainnya.
Sebelum melanjutkan, buat snapshot untuk mencadangkan data instans guna mencegah kehilangan data. Lihat Create snapshot manually.
-
Terhubung ke instans Linux.
-
Periksa versi kernel:
uname -r -
Jika versi kernel adalah 4.15 atau lebih lama, perbarui kernel tersebut:
Jika versi kernel lebih baru dari 4.15, error softlockup tidak berlaku. Tidak diperlukan tindakan lebih lanjut.
yum update kernelCatatanJika
yum update kernelgagal untuk versi kernel Anda, unduh paket RPM kernel versi lebih baru dari 4.15 dan lakukan upgrade secara manual. -
Restart instans setelah pembaruan kernel.
reboot -
Setelah restart, verifikasi bahwa versi kernel lebih baru dari 4.15:
uname -r