Linux、CentOSでプロセスのステータスが「D」状態になる理由 割り込み不可能なスリープ状態 (通常 I/O 中)

LinuxCentOSでプロセスのステータスが「D」状態になる理由 割り込み不可能なスリープ状態 (通常 I/O 中)ということで、こちらのステータスになる要因について、調べてみました。

 

海外のサイトで記載があります。

 

Linux ホスト名 2.6.28-15-generic #49-Ubuntu SMP 火曜日 8 月 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

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

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

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

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

 

 

それは「中断されない睡眠」を意味します。

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

 

主にI/Oの応答待ちで発生することが多いようです。

 

D状態コードは、プロセスが中断不可能なスリープ状態であることを意味します。

通常、これは I/O が原因です。
lockdNFS ロックを管理するカーネル内デーモンです。
おそらく、問題は NFS 通信に関係していると思われます。

 

NFS通信なども発生することがあるようです。

 

「参考」

linux - When a process will go to 'D' state? - Unix & Linux Stack Exchange

 

Anker PowerCore 10000 (10000mAh 大容量 モバイルバッテリー)【PSE技術基準適合/PowerIQ搭載】 iPhone&Android対応 (ブラック)