Quando um processo irá para o estado 'D'?

11

estou usando "Nome de host do Linux 2.6.28-15-generic # 49-Ubuntu SMP Ter 18 de agosto às 18:40:08 UTC de 2009 i686 GNU / Linux"

Todas as máquinas clientes usarão Thin-client, eu usarei meu laptop para trabalhar e eu vou monte meu diretório pessoal do servidor para o meu laptop.

Se eu abrir o firefox no meu laptop, a janela do Firefox não abrirá porque o processo está no estado 'D', e todas as outras máquinas de usuários foram desligadas e o processo lockd está no estado '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

se eu verificar o syslog

Jul 13 10:35:56 hostname kernel: [222583.872059] lockd: cannot monitor laptop

Jul 13 10:35:57 hostname kernel: [222583.872059] lockd: cannot monitor laptop

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 pts/3 S<+ 14:18 0:00 grep lockd

A mesma mensagem para todas as máquinas clientes.

Quando um processo vai para o estado 'D'?

Quando o processo lockd irá para o estado 'D'?

Qual é o objetivo do processo lockd?

    
por ungalnanban 14.07.2011 / 15:24

2 respostas

11

O código de estado

D significa que o processo está em suspensão ininterrupta, e isso pode significar coisas diferentes, mas geralmente é E / S. lockd é daemon do kernel que gerencia o bloqueio de NFS. Seu problema realmente precisa de mais depuração, mas no geral parece estar em comunicação NFS.

    
por 14.07.2011 / 15:30
7

Significa "sono ininterrupto" .

D    Uninterruptible sleep (usually IO)

Neste estado, um processo não acorda imediatamente para processar sinais. Ao fazer o dispositivo I/O , é o único caminho a ser seguido (caso contrário, pode ocorrer corrupção de dados).

    
por 14.07.2011 / 15:29