Kapan suatu proses akan masuk ke status 'D'?

21

Saya menggunakan "Linux hostname 2.6.28-15-generic # 49-Ubuntu SMP Selasa 18 Agustus 18:40:08 UTC 2009 i686 GNU / Linux"

Semua mesin klien akan menggunakan Thin-client, saya akan menggunakan laptop saya untuk bekerja dan saya akan me-mount direktori home saya dari server ke laptop saya.

Jika saya membuka firefox di laptop saya, jendela firefox tidak akan terbuka karena prosesnya dalam keadaan 'D', dan semua mesin pengguna lainnya ditutup dan proses pengunciannya dalam keadaan 'D',

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

jika saya memeriksa syslog

13 Jul 10:35:56 kernel hostname: [222583.872059] lockd: tidak dapat memonitor laptop

13 Jul 10:35:57 kernel hostname: [222583.872059] lockd: tidak dapat memonitor laptop

ps ajx | grep lockd

root 9178 0.0 0.0 0 0? D <13:35 0:00 [terkunci]

root 11039 0.0 0.0 3340 796 poin / 3 S <+ 14:18 0:00 grep lockd

Pesan yang sama untuk semua mesin klien.

Kapan suatu proses akan masuk ke kondisi 'D'?

Kapan proses penguncian akan masuk ke status 'D'?

Apa tujuan dari proses lockd.

ungalnanban
sumber

Jawaban:

16

Dkode negara berarti bahwa proses dalam tidur tidak terputus, dan itu dapat berarti hal yang berbeda tetapi biasanya I / O. lockdadalah daemon in-kernel yang mengelola penguncian NFS. Masalah Anda memang membutuhkan lebih banyak debugging, tetapi secara keseluruhan sepertinya ada dalam komunikasi NFS.


sumber
bagaimana cara menghindari ini? proses lockd seharusnya tidak pergi ke keadaan 'D', apa yang harus saya lakukan?
ungalnanban
@ungalnanban: Tidak mungkin, proses selalu masuk dan keluar dari 'D' jika menggunakan I / O. Jadi dalam proses kasus Anda sedang mencoba, misalnya, membaca atau menulis beberapa data, memperoleh kunci, tidak dapat melakukan itu dan terus menunggu. Anda harus men-debug apa yang menunggu dll. Saya bukan ahli NFS untuk mengatakan itu, maaf.
15

Ini berarti "tidur tanpa gangguan" .

D    Uninterruptible sleep (usually IO)

Dalam keadaan ini, suatu proses tidak langsung bangun untuk memproses sinyal. Saat melakukan perangkat, I/Oitu satu-satunya cara untuk pergi (jika tidak, kerusakan data dapat terjadi).

Komunitas
sumber