全部产品
Search
文档中心

:Apa yang harus saya lakukan jika kesalahan softlockup terjadi selama proses writeback dari kernel sistem operasi Linux?

更新时间:Jul 02, 2025

Kesalahan softlockup dapat terjadi ketika versi kernel Linux tertentu menulis data kembali ke cache file. Topik ini menjelaskan penyebab dan solusi untuk masalah tersebut.

Deskripsi Masalah

Pada instance Elastic Compute Service (ECS) Linux dengan versi kernel lebih lama dari 4.15, kesalahan softlockup terjadi saat kernel menulis data kembali ke cache file. Informasi tumpukan panggilan serupa dengan konten berikut dihasilkan.

Catatan

Anda dapat menjalankan perintah uname -r untuk memeriksa versi kernel Linux. Sebagai contoh, jika 3.10.0-514.26.2.el7.x86_64 ditampilkan dalam output perintah, versi kernel adalah 3.10.0. Dalam topik ini, versi 4.15 merujuk pada versi 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

Kernel sistem operasi sering memanggil fungsi wakeup_flusher_threads ketika memori instance ECS tidak mencukupi. Kemudian, sejumlah besar tugas writeback (wb_writeback_work) dibuat. Akibatnya, thread writeback terus memproses tugas writeback, dan kesalahan softlockup terjadi pada sistem operasi.

Solusi

Perbarui kernel ke versi setelah 4.15. Masalah ini tidak terjadi pada sistem operasi Alibaba Cloud Linux karena versi kernel sistem operasi Alibaba Cloud Linux adalah 4.19. Solusi berikut berlaku untuk distribusi Linux selain sistem operasi Alibaba Cloud Linux.

Penting

Sebelum melakukan operasi dalam solusi ini pada instance tempat masalah terjadi, kami sarankan Anda membuat snapshot untuk instance tersebut guna mencadangkan data. Ini mencegah hilangnya data akibat operasi yang tidak disengaja. Untuk informasi tentang cara membuat snapshot, lihat Buat snapshot.

  1. Hubungkan ke instance Linux.

  2. Jalankan perintah berikut untuk melihat versi kernel sistem operasi:

    uname -r
  3. Jika versi kernel adalah 4.15 atau lebih lama, jalankan perintah berikut untuk memperbarui versi kernel.

    Jika versi kernel lebih baru dari 4.15, kesalahan softlockup tidak akan terjadi pada sistem operasi. Anda tidak perlu melakukan operasi berikutnya.

    yum update kernel
    Catatan

    Jika Anda tidak dapat memperbarui versi kernel tertentu yang lebih lama dengan menjalankan perintah yum update kernel, unduh paket RPM kernel versi setelah 4.15 dan tingkatkan versi kernel menggunakan paket RPM kernel tersebut.

  4. Mulai ulang instance setelah Anda memperbarui versi kernel.

    reboot
  5. Setelah Anda memulai ulang instance, jalankan kembali perintah berikut untuk memeriksa apakah versi kernel lebih baru dari 4.15:

    uname -r