Linux、CentOSでプロセスのステータスが「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 ウィンドウが開きません。
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対応 (ブラック) |