GNU/Linux >> Linux の 問題 >  >> Cent OS

「カーネル:情報:タスク {PROCESS}:{PID} が 120 秒以上ブロックされました。」 – CentOS/RHEL のトラブルシューティング

問題

ときどき情報 メッセージは /var/log/messages に記録されます など:

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

これらのメッセージとその影響は何ですか?

解決策

このメッセージは、プロセスが 120 秒間「D」状態であることを示しています。この例では、kjournald は、journal_commit_transaction() の終了を 120 秒以上待っていました。これは、ジャーナル コミットがアトミック関数であるため、一部のプロセスによる大量の I/O が原因であると考えられます。

一般的に言えば、メッセージが /var/log/messages にそれほど頻繁に記録されない場合、これは無視できます。これは、大量の I/O、ストレージ/ネットワークの切断/遅延などが原因で発生する可能性がある、何らかの理由でプロセスがスタックしたことを示す単なる情報です。

したがって、このメッセージを見つけた後、最初に行う必要があるのは、これが頻繁にログに記録されているかどうか、次にネットワーク/ストレージに問題があったかどうかを確認することです。

結論

これらのメッセージは通常、システムでディスクまたはメモリの輻輳が発生しており、プロセスで利用可能なリソースが不足していることを意味します。これらのメッセージは、何かが最適に動作していない可能性があるという警告として機能します。これらは必ずしも重大な問題を示しているわけではなく、ブロックされたプロセスは、システムが回復したときに最終的に続行する必要があります。可能であれば、問題が発生している間に以下のコマンドの出力をキャプチャしてみてください:

# 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

これらの出力は、システム ハングの問題や、「タスクが 120 秒以上ブロックされました」という INFO メッセージの背後にある理由を診断する際に役立ちます。


Cent OS
  1. CentOS / RHEL 7 :NTP / chrony の問題のトラブルシューティングに関するヒント

  2. CentOS / RHEL 7 :ユーザーのグループに対して telnet を有効にする方法

  3. CentOS / RHEL :Apache の SSL を有効にする方法

  1. CentOS/RHEL での一般的な GUI/X-Window の問題のトラブルシューティング

  2. CentOS/RHEL 6 で「nproc」値を 1024 より大きくすることはできません

  3. 「xfs_log_force:エラー 5 が返されました」 – XFS エラー (CentOS/RHEL 7)

  1. CentOS / RHEL/Fedoraでカーネルをアップグレードするための究極のガイド

  2. CentOS / RHEL で Magic SysRq ツールを使用する方法

  3. CentOS/RHEL でカーネル チューニング パラメータの現在の値を確認する方法