Como faço para impedir que o Ubuntu seja interrompido devido a processos que entram em 'sleep de disco'?

5

Estou usando o Ubuntu 9.04 de 64 bits em um AMD. Ele é interrompido regularmente por alguns minutos quando alguns dos% de uso da CPU dos processos ficam em 'suspensão de disco'. Durante esse tempo, não consigo iniciar novos programas e a maioria dos programas na área de trabalho não responde.

Prefiro que ele não seja interrompido e meus aplicativos permaneçam confiáveis. Por que isso acontece e como posso pará-lo?

    
por joeforker 13.08.2009 / 01:38

1 resposta

7

Um processo em suspensão de disco ou em modo ininterrupto de espera geralmente está aguardando alguma operação de E / S para ser concluída. Neste estado, ele não pode ser acordado por sinais, portanto, o processo não pode ser terminado usando o sinal SIGKILL.

Minha compreensão limitada do que acontece é isso: O escalonador de CPU no kernel mantém uma fila de execução, que é a lista de processos que estão prontos para serem executados. Quando um processo pega a CPU, ou

  1. Utiliza o período de tempo integralmente e é agendado ou
  2. Ele precisa aguardar a resposta de uma operação, normalmente E / S, e solicita a transferência para a fila de espera, aguardando o evento.

Os processos que agendam o prazo devido a # 2 também indicam ao agendador se devem ser interrompidos ou não enquanto aguardam o evento. Quando eles não podem continuar a operação adequada se forem interrompidos por um sinal (geralmente drivers de dispositivo), eles indicarão que devem ser acordados apenas pelo evento. Eles estão em estado de suspensão ininterrupta e serão movidos para a fila de espera.

Se você está experimentando o congelamento regular do sistema devido ao sono em disco, ele pode ser um dos

  • Driver de dispositivo com bugs
  • Falhas no seu hardware (unidade de disco?)
  • Sistemas de arquivos montados que demoram a responder.

Eu já vi essa e outra vez com sistemas de arquivos NFS. Se por algum motivo a resposta do dispositivo for perdida, o processo permanecerá no estado de suspensão, tornando quase impossível usar a montagem / dispositivo até uma reinicialização.

Se você acha que seu acesso ao disco rígido está causando o congelamento de E / S, talvez seja prudente verificar se há blocos ou setores defeituosos na unidade.

    
por 13.08.2009 / 02:50