dmesg が nfs_wait_bit_uninterruptible (CPU ソフトロック) を報告する

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6

Issue

新規 RHEL 5.4 インストールすると、断続的な接続問題が見られます。

syslog および dmesg は以下のメッセージを記録します。

INFO: task jboss_get_stage:22410 blocked for more than 120 seconds.
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
jboss_get_sta D ffff810001015120     0 22410  22409                     (NOTLB)
 ffff810021bb9d48 0000000000000082 ffff810129948ce0 ffff810125ac1240
 ffff81001730a040 0000000000000007 ffff8100528f3040 ffff81010439d080
 000016ead9a85d5d 00000000000006ba ffff8100528f3228 000000022f2e1eb8
Call Trace:
 [<ffffffff8006e1db>] do_gettimeofday+0x40/0x90
 [<ffffffff8855a6e5>] :nfs:nfs_wait_bit_uninterruptible+0x0/0xd
 [<ffffffff800637ea>] io_schedule+0x3f/0x67
 [<ffffffff8855a6ee>] :nfs:nfs_wait_bit_uninterruptible+0x9/0xd
 [<ffffffff80063a16>] __wait_on_bit+0x40/0x6e
 [<ffffffff8855a6e5>] :nfs:nfs_wait_bit_uninterruptible+0x0/0xd
 [<ffffffff80063ab0>] out_of_line_wait_on_bit+0x6c/0x78
 [<ffffffff800a0a06>] wake_bit_function+0x0/0x23
 [<ffffffff8855e106>] :nfs:nfs_wait_on_requests_locked+0x70/0xca
 [<ffffffff8855f146>] :nfs:nfs_sync_inode_wait+0x60/0x1db
 [<ffffffff88555167>] :nfs:nfs_do_fsync+0x1f/0x3f
 [<ffffffff88555a06>] :nfs:nfs_file_flush+0x84/0xac
 [<ffffffff80023abe>] filp_close+0x36/0x64
 [<ffffffff8001dfac>] sys_close+0x88/0xbd
 [<ffffffff8005d28d>] tracesys+0xd5/0xe0

500M ファイルを NFS 共有にコピーするとこのエラーが再現できます。コピーがハングし、これらのエラーが生成されます。

Resolution

  • ネットワーク: eth0 duplex を 100-Half から 100-Full に変更すると、コピーが有効になりエラーが発生しません。
  • NFS サーバー: NFS サーバーが過負荷になる可能性があるため、調整してパフォーマンスを向上するか、負荷を減らすとエラーが軽減します。

Root Cause

  • エラーは、書き込み時に、プロセスが通常よりはるかに長い期間ブロックされていることを示しています。次に、ブロックしたプロセスのスタックトレースをダンプし、待機場所のデータをさらに提供します。遅延は NIC のエラーや、NFS サーバーのネットワークまたは過密が原因です。2 分以上の遅延は問題が疑われますが、クライアント、サーバー、またはネットワークが過密で、大規模ファイルがサーバーにフラッシュされる場合、この挙動は予想外のものではありません。

Diagnostic Steps

  • Sosreport は、nic を誤って 100-Half に設定していることを示しています。
  • nfsiostat 結果には "avg RTT" および "avg exe" 時間が示されます。"avg RTT" が予想よりも高い場合は、NFS サーバーまたはネットワークの負荷が高い可能性があります。

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.