GNU/Linux >> Belajar Linux >  >> Cent OS

“kernel:INFO:tugas {PROCESS}:{PID} diblokir selama lebih dari 120 detik.” – Pemecahan Masalah CentOS/RHEL

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”.


Cent OS
  1. Memecahkan Masalah Umum GUI / X-Window di CentOS/RHEL

  2. Tidak Dapat Meningkatkan Nilai "nproc" Lebih dari 1024 di CentOS/RHEL 6

  3. Cara mengatur children-max untuk Layanan udev di CentOS/RHEL 7

  1. Memecahkan masalah kdump di CentOS/RHEL

  2. Cara membuat ulang initramfs dan vmlinuz untuk Kernel Penyelamatan dengan Kernel Saat Ini di CentOS/RHEL 7

  3. “xfs_log_force:kesalahan 5 dikembalikan” – Kesalahan XFS (CentOS/RHEL 7)

  1. Cara Menangkap Lebih Banyak Log di /var/log/dmesg untuk CentOS/RHEL

  2. Cara mengatur “max_report_luns” dan “max_luns” pada CentOS/RHEL 6 untuk memindai lebih dari 512 LUN

  3. Perubahan nama host tidak tercermin dalam laporan sar untuk CentOS/RHEL