Masalahnya
Terkadang INFO pesan masuk ke /var/log/messages seperti:
Apr 19 03:33:22 host kernel: INFO: task kjournald:2046 blocked for more than 120 seconds. Apr 19 03:33:22 host kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. Apr 19 03:33:22 host kernel: kjournald D ffff810001004420 0 2046 49 2476 2044 (L-TLB) Apr 19 03:33:22 host kernel: ffff81013ce9fdd0 0000000000000046 0000000000000100 0000000000000000 Apr 19 03:33:22 host kernel: 0000000000000000 000000000000000a ffff81013c7d0820 ffffffff80309b60 Apr 19 03:33:22 host kernel: 001b51e0f255644a 0000000000000a88 ffff81013c7d0a08 0000000000000000 Apr 19 03:33:22 host kernel: Call Trace: Apr 19 03:33:22 host kernel: [] :jbd:journal_commit_transaction+0x16d/0x1066 Apr 19 03:33:22 host kernel: [] autoremove_wake_function+0x0/0x2e Apr 19 03:33:22 host kernel: [] try_to_del_timer_sync+0x7f/0x88 Apr 19 03:33:22 host kernel: [] :jbd:kjournald+0xc1/0x213 Apr 19 03:33:22 host kernel: [] autoremove_wake_function+0x0/0x2e Apr 19 03:33:22 host kernel: [] keventd_create_kthread+0x0/0xc4 Apr 19 03:33:23 host kernel: [] :jbd:kjournald+0x0/0x213 Apr 19 03:33:24 host kernel: [] keventd_create_kthread+0x0/0xc4 Apr 19 03:33:24 host kernel: [] kthread+0xfe/0x132 Apr 19 03:33:24 host kernel: [] child_rip+0xa/0x11 Apr 19 03:33:24 host kernel: [] keventd_create_kthread+0x0/0xc4 Apr 19 03:33:24 host kernel: [] kthread+0x0/0x132 Apr 19 03:33:24 host kernel: [] child_rip+0x0/0x11
Apa pesan-pesan ini dan apa dampaknya?
Solusinya
Pesan ini bermaksud proses dalam keadaan “D” selama 120 detik. Dalam contoh ini, kjournald menunggu penyelesaian journal_commit_transaction() selama lebih dari 120 detik, kemungkinan besar karena I/O berat oleh beberapa proses, karena journal commit adalah fungsi atom.
Secara umum, ini dapat diabaikan, jika pesan tidak terlalu sering masuk /var/log/messages. Ini hanyalah informasi yang bermaksud bahwa proses tersebut macet karena beberapa alasan, yang dapat terjadi karena I/O yang berat, penyimpanan/pemutusan/penundaan jaringan, atau sebagainya.
Jadi yang perlu kita lakukan pertama kali setelah menemukan pesan ini adalah memeriksa apakah ini sering dicatat, dan selanjutnya jika ada masalah jaringan/penyimpanan pada saat itu.
Kesimpulan
Pesan-pesan ini biasanya berarti bahwa sistem mengalami kemacetan disk atau memori dan proses kekurangan sumber daya yang tersedia. Pesan-pesan ini berfungsi sebagai peringatan bahwa sesuatu mungkin tidak beroperasi secara optimal. Mereka tidak selalu menunjukkan masalah serius dan setiap proses yang diblokir pada akhirnya harus dilanjutkan ketika sistem pulih. Anda dapat mencoba menangkap output dari perintah di bawah ini selama masalah jika memungkinkan:
# top -n 5 -b > /tmp/top.out # vmstat 1 50 > /tmp/vm.out # iostat -x 2 10 > /tmp/io.out # ps aux > /tmp/ps.out # ps auxH > /tmp/psh.out # sar -A > /tmp/sar.out # free > /tmp/free.out # lsof > /tmp/lsof.out
Keluaran ini dapat berguna saat mendiagnosis masalah sistem yang macet atau alasan di balik pesan INFO “tugas diblokir selama lebih dari 120 detik”.