Wann geht ein Prozess in den Status 'D'?

20

Ich verwende "Linux-Hostname 2.6.28-15-generic # 49-Ubuntu SMP Di Aug 18 18:40:08 UTC 2009 i686 GNU / Linux"

Alle Client-Computer verwenden Thin-Client, ich verwende meinen Laptop für die Arbeit und mounte mein Home-Verzeichnis vom Server auf meinen Laptop.

Wenn ich den Firefox auf meinem Laptop öffne, wird das Firefox-Fenster nicht geöffnet, da sich der Prozess im Status 'D' befindet und alle anderen Benutzer-Computer aufgelegt haben und sich der Lockd-Prozess im Status 'D' befindet.

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

wenn ich das syslog überprüfe

13. Juli 10:35:56 Hostname Kernel: [222583.872059] lockd: Laptop kann nicht überwacht werden

13. Juli 10:35:57 Hostname Kernel: [222583.872059] lockd: Laptop kann nicht überwacht werden

ps ajx | grep lockd

wurzel 9178 0.0 0.0 0 0? D <13:35 0:00 [lockd]

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

Dieselbe Nachricht für alle Clientcomputer.

Wann geht ein Prozess in den Status 'D'?

Wann geht der Lockd-Prozess in den Zustand 'D'?

Was ist der Zweck des Lockd-Prozesses?

ungalnanban
quelle

Antworten:

15

DDer Statuscode bedeutet, dass sich der Prozess im unterbrechungsfreien Ruhezustand befindet. Dies kann verschiedene Bedeutungen haben, ist jedoch normalerweise E / A. lockdist ein In-Kernel-Daemon, der die NFS-Sperre verwaltet. Ihr Problem erfordert zwar mehr Debugging, aber insgesamt scheint es in der NFS-Kommunikation zu liegen.


quelle
Wie vermeide ich das? Der Lockd-Prozess sollte nicht in den Status 'D' wechseln. Was muss ich tun?
Ungalnanban
@ungalnanban: Es ist unmöglich, dass Prozesse bei Verwendung von E / A immer in und aus 'D' gehen. In Ihrem Fall versucht der Prozess beispielsweise, Daten zu lesen oder zu schreiben, eine Sperre zu erlangen, kann dies nicht und wartet weiter. Sie müssen debuggen, worauf es wartet usw. Ich bin kein NFS-Experte, um das zu sagen, sorry.
14

Es bedeutet "unterbrechungsfreier Schlaf" .

D    Uninterruptible sleep (usually IO)

In diesem Zustand wacht ein Prozess nicht sofort auf, um Signale zu verarbeiten. Wenn Sie ein Gerät verwenden I/O, ist dies der einzige Weg (andernfalls können Daten beschädigt werden).

Gemeinschaft
quelle