O kworker usando 100% IO não significa que esteja usando todas as minhas IOs. Isso significa que está esperando por IO. Eu acho que o problema do Postgres foi separado. Nunca percebi isso, mas não voltou.
Consulte: link
Eu tenho 2 SSDs configurados na configuração RAID 0 com um único volume neles que uso sem problemas por 3 meses para executar um banco de dados PostgreSQL. De repente, hoje, o DB ficou muito lento. Eu costumava executar várias consultas em tabelas enormes e ver 100% de uso da CPU para cada tarefa postgres
(eu tenho 12 núcleos). Agora, uma consulta por si só usa 15% -30% da CPU, como se houvesse um gargalo de disco, e as mesmas consultas com os mesmos dados estão demorando muito mais para serem executadas.
Eu não sei se isso estava acontecendo antes, mas se eu executar iotop
, eu vejo kworker/u24:1
usando 99,99% IO e 0 disco ler e escrever. Eu não sei se isso é normal, mas parece suspeito.
Eu executei benchmarks com dd
e hdparm
. O tempo de leitura / gravação do SSD parece rápido o suficiente; não há problema aí. O uso de RAM está bem. Eu vejo quase nenhuma troca usada. Eu tenho muito pouco livre, porque toda a memória livre vai para o cache de disco, mas é suposto que está tudo bem. Na verdade, não tenho nenhum processo usando toda a minha memória RAM.
Qual é o problema com kworker
? Eu sei que é uma tarefa do kernel. É um problema que está usando tantos IOs? Qualquer coisa que eu deveria checar?
Atualização: parou de fazer isso. Não tenho certeza quando ou por quê.