プロセスが「D」状態になるのはいつですか?


21

「Linuxホスト名2.6.28-15-generic#49-Ubuntu SMP Tue Aug 18 18:40:08 UTC 2009 i686 GNU / Linux」を使用しています

すべてのクライアントマシンはシンクライアントを使用し、作業にはラップトップを使用し、サーバーからラップトップにホームディレクトリをマウントします。

ラップトップでfirefoxを開くと、プロセスが「D」状態にあり、他のすべてのユーザーのマシンがハングアップし、lockdプロセスが「D」状態にあるため、firefoxウィンドウは開きません。

ps ajx | grep firefox

1  6187  4313  4313 ?   -1 D<    1030   3:16 /usr/lib/firefox-3.5b4pre/firefox-3.5

   7610  7622  7621  7610 pts/3      7621 S+    1030   0:00 grep firefox

syslogを確認した場合

7月13日10:35:56ホスト名カーネル:[222583.872059] lockd:ラップトップを監視できません

7月13日10:35:57ホスト名カーネル:[222583.872059] lockd:ラップトップを監視できません

ps ajx | grep lockd

ルート9178 0.0 0.0 0 0?D <13:35 0:00 [ロック]

ルート11039 0.0 0.0 3340796 pts / 3 S <+ 14:18 0:00 grep lockd

すべてのクライアントマシンに同じメッセージが表示されます。

プロセスが「D」状態になるのはいつですか?

lockdプロセスが「D」状態になるのはいつですか?

lockdプロセスの目的は何ですか。

回答:


16

D状態コードとは、プロセスが中断できないスリープ状態にあることを意味し、異なることを意味する場合がありますが、通常はI / Oです。lockdNFSロックを管理するカーネル内デーモンです。あなたの問題は確かにより多くのデバッグを必要としますが、全体的にはNFS通信にあるようです。


これを避ける方法は?lockdプロセスが「D」状態にならないようにする必要があります。
ungalnanban

@ungalnanban:不可能です。I/ Oを使用している場合、プロセスは常に「D」に出入りします。したがって、あなたの場合、プロセスは、たとえば、データの読み取りまたは書き込み、ロックの取得、それを行うことができず、待機を続けようとしています。待っているものなどをデバッグする必要があります。それを伝えるのはNFSの専門家ではありません。申し訳ありません。

15

「無停電睡眠」を意味します。

D    Uninterruptible sleep (usually IO)

この状態では、プロセスはすぐにウェイクアップして信号を処理しません。デバイスを使用I/Oする場合、それが唯一の方法です(そうしないと、データが破損する可能性があります)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.