Kiedy proces przejdzie w stan „D”?

21

Używam „Nazwa hosta Linux 2.6.28-15-generic # 49-Ubuntu SMP Wt 18 sierpnia 18:40:08 UTC 2009 i686 GNU / Linux”

Wszystkie komputery klienckie będą korzystały z cienkiego klienta, do pracy użyję laptopa i zamontuję katalog domowy z serwera na laptopie.

Jeśli otworzę firefoxa na moim laptopie, okno firefoxa nie otworzy się, ponieważ proces jest w stanie „D”, a wszystkie komputery innych użytkowników się rozłączyły, a proces blokady jest w stanie „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

jeśli sprawdzę syslog

13 lipca 10:35:56 nazwa jądra jądra: [222583.872059] lockd: nie można monitorować laptopa

13 lipca 10:35:57 jądro jądra: [222583.872059] lockd: nie można monitorować laptopa

ps ajx | grep lockd

root 9178 0,0 0,0 0 0? D <13:35 0:00 [lockd]

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

Ten sam komunikat dla wszystkich komputerów klienckich.

Kiedy proces przejdzie w stan „D”?

Kiedy zablokowany proces przejdzie w stan „D”?

Jaki jest cel zablokowanego procesu.

Ungalnanban
źródło

Odpowiedzi:

16

Dkod stanu oznacza, że ​​proces jest w nieprzerwanym trybie uśpienia, co może oznaczać różne rzeczy, ale zwykle jest to We / Wy. lockdjest wbudowanym demonem, który zarządza blokowaniem NFS. Problem rzeczywiście wymaga więcej debugowania, ale ogólnie wydaje się, że jest w komunikacji NFS.


źródło
jak tego uniknąć? zablokowany proces nie powinien przejść do stanu „D”, co muszę zrobić?
ungalnanban
@ungalnanban: Jest to niemożliwe, procesy zawsze wchodzą i wychodzą z 'D', jeśli używasz I / O. Więc w twoim przypadku proces próbuje na przykład odczytać lub zapisać niektóre dane, uzyskać blokadę, nie może tego zrobić i czeka. Musisz debugować, na co czeka itd. Niestety nie jestem ekspertem od NFS, przepraszam.
15

Oznacza „nieprzerwany sen” .

D    Uninterruptible sleep (usually IO)

W tym stanie proces nie budzi się od razu w celu przetworzenia sygnałów. Robiąc urządzenie I/O, jest to jedyna droga (w przeciwnym razie może dojść do uszkodzenia danych).

Społeczność
źródło