Queda enorme e imprevisível no desempenho de E/S no Linux

Queda enorme e imprevisível no desempenho de E/S no Linux

Estou usando o teste Debian sem problemas há cerca de 6 anos (estou atualizando-o regularmente), mas recentemente ele começou a mostrar um comportamento aleatório que pode ser resumido como "Baixo desempenho de E/S que persiste até a reinicialização".

O problema é que, de repente, todas as leituras e gravações do disco ficam lentas para aproximadamente 5 MB/s, o que resulta em leituras e gravações contínuas. Como a taxa é tão baixa, os discos não são desafiados ou estressados ​​mecanicamente, mas tudo fica mais lento até eu reiniciar.

O subsistema de E/S do computador consiste em um SSD OCZ Vertex 3 e dois HDDs WD Caviar Black. O SSD contém parte do sistema operacional com muita leitura e uma partição no HDD contém o resto.

Para diagnosticar o problema, tentei o seguinte sem sucesso:

  • topnão mostra nenhuma atividade descontrolada nem no uso da CPU nem de E/S.
  • hdparmretorna classificações normais de desempenho dos discos ( -tembora eu apenas verifiquei).
  • smartctlnão mostra nenhum problema de desempenho em discos. Longos testes mostraram que os discos estão como novos.

O sistema possui chipset Z77, 16 GB de RAM e CPU Intel i7 3770K e as estatísticas não mostram sinais de saturação em RAM, E/S ou CPU, mas não tenho experiência em depurar problemas como este (especialmente no espaço do kernel). Qualquer ajuda será apreciada.

Atualização 1:

  • Executei (forçado) o fsck em todas as partições por precaução. Todos os FS estão limpos.
  • Aliás, encontrei uma atualização de BIOS lançada há um mês e apliquei-a.
  • Nenhuma partição é preenchida mais de 50%.

Atualização 2:

O problema só aparece há dois dias. Ou fscka atualização do BIOS limpou algumas obstruções no sistema. Ainda estou monitorando o problema e encerrarei a pergunta com uma resposta post-mortem.

Atualização 3:

O problema simplesmente ressurgiu e eu fiz mais pesquisas. Por favor, veja a resposta.

Responder1

Consegui reproduzir o problema novamente e foi resultado de um grande cache de disco. Meus caches de disco podem crescer mais de 8 GB e parece que alguns aplicativos não gostam disso e a E/S sofre.

Eliminar caches de disco echo 3 > /proc/sys/vm/drop_cachescomo root resolve o problema. Atualmente não sei por que grandes caches de disco causam essa degradação de E/S.

Última atualização:Após mais investigações, descobri que o número de arquivos no cache estava causando o problema. Ele estava destruindo os discos ao tentar enviar muitos arquivos pequenos de volta ao disco. Como estou usando o sistema há dez anos, arrisquei e reinstalei com o Debian de 64 bits. Agora está funcionando perfeitamente. Provavelmente foi um efeito colateral de dez anos de atualização com a descoberta dos limites do sistema operacional de 32 bits.

Responder2

Há alguma mensagem suspeita em dmesg?

Mais algumas ferramentas que você pode tentar para obter alguns insights sobre os gargalos do seu sistema:

  • dstat
  • latência superior
  • sysprof

informação relacionada