Por que estou ficando preso em log_wait_commit no Linux?

2

Há algo sutilmente errado na minha instalação do Linux que simplesmente não consigo localizar.

É o Ubuntu Lucid Lynx (10.04) de 64 bits. O hardware é um Dell Optiplex 960: CPU Intel Core 2 Quad, 8 Gb de RAM, 2 discos rígidos de 300 Gb. / home é ext2 em um disco e todo o restante está no outro (/ também é ext3). Eu tenho VirtualBox executando uma imagem de 64 bits do Vista para o calendário do Outlook, mas os aplicativos pesados são IntelliJ, NetBeans, MySQL e Opera. O Opera também carrega meu e-mail (IMAP), com mais de 10.000 mensagens.

O problema é que o Opera pára por alguns segundos de tempos em tempos. Observar a lista de processos mostra que está em log_wait_commit , o que significa (até onde eu percebi) que o sistema de arquivos está atrasando as coisas. Às vezes, posso fazer isso acontecer fazendo uma atualização de subversão, mas geralmente isso acontece sem nenhuma razão que eu possa ver. Isso geralmente acontece com o Opera, mas também vi o NetBeans afundar. Ele não faz o aplicativo travar - ele simplesmente não responde por alguns segundos.

O google não ajudou . O mais perto que cheguei foi remover o atributo sync no sistema de arquivos. Isso não conseguiu nada. Seguindo o conselho de um amigo guru do Linux, reduzi /proc/sys/vm/dirty_writeback_centisecs para 300, mas isso também não fez nada. E foi tudo o que ele conseguiu pensar.

O que está acontecendo e posso corrigi-lo? (E como?)

    
por staticsan 11.01.2011 / 01:06

1 resposta

2

Eu vi alguns desses travamentos em vários fóruns, mas nunca com uma correção. Como o problema parece estar corrigido na minha máquina, estou compartilhando aqui o que eu sei:

  1. Dos meus quatro sistemas Ubuntu, todos com sistemas de arquivos 10.04 e ext3, isso aconteceu apenas em um sistema AMD quad. Os outros três são quads da Intel. Isso pode ser uma coincidência.
  2. Os processos suspensos frequentemente são navegadores (independentemente de qual deles eu use) e gconf-d
  3. O problema foi introduzido com uma atualização para 9.04. O 9.04 não corrigido não mostra as interrupções, elas aparecem imediatamente após a instalação das atualizações do 9.04. Isso é reproduzível. Todas as versões adicionais, incluindo 10.10, mostram as trancas.

O que parece ter resolvido o problema:

Uma reinstalação completa usando o ext4 para todos os sistemas de arquivos, incluindo / home. Eu tentei reinstalar antes, claro, mas mantendo o FS no ext3.

    
por 07.03.2011 / 20:49