Ao analisar os logs de sistema você acaba deparando-se com a mensagem de aviso INFO: task <process>:<pid> blocked for more than 120 seconds. Isso pode começar a aparecer mesmo em sistemas que nunca apresentaram o problema.
Por padrão o Linux usa 40% da memória disponível para cache de sistema, gravando este cache em disco assim que liberado pelos processos. Mas o que pode acontecer é haver muitas requisições, seja por alguma falha nos processos ou até mesmo de hardware, floodando essa reserva e fazendo com que o sistema tente descarregar o caching de maneira quase instantaneamente, gerando problemas de I/O (gravação em disco).
Para descarregar o cache o sistema tem um tempo limite default de 120 segundos, e caso não consiga grava o erro nos logs. Se nada for feito para sanar a questão o sistema começa a enfileirar as requisições de gravação tornando tudo lento e agravando ainda mais o problema.
Então nós temos a seguinte situação: A memória flooda com requisições problemáticas e tenta descarregar no disco, mas este processo também trava por causa da quantidade de requisições. O que podemos fazer neste caso é limitar o percentual permitido de cache memória para gravar esse tipo de requisição.
Digite os seguintes comandos:
> sysctl -w vm.dirty_ratio=10
> sysctl -w vm.dirty_background_ratio=5
> sysctl -p
Note que os avisos deverão cessar.
O fix acima é provisório, e na próxima vez que o sistema for reiniciado perderá os valores retornando ao original. Para torná-lo permanente edite o arquivo: /etc/sysctl.conf e adicione as linhas abaixo ao final.
vm.dirty_ratio = 10
vm.dirty_background_ratio = 5
Salve e pronto.