web-dev-qa-db-ja.com

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

「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]ロック:ラップトップを監視できません

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

ps ajx | grep lockd

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

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

すべてのクライアントマシンに同じメッセージ。

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

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

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

23
ungalnanban

これは、「中断のないスリープ」を意味します

D    Uninterruptible sleep (usually IO)

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

17
cnicutar

D状態コードは、プロセスが割り込み不可能なスリープ状態にあることを意味します。これは別のことを意味する場合がありますが、通常はI/Oです。 lockdは、NFSロックを管理するカーネル内デーモンです。あなたの問題は確かにもっとデバッグが必要ですが、全体的にはNFS通信にあるようです。

17
user3832