Estou tentando descobrir por que está kjournald
ficando louco na minha máquina. É uma caixa de 8 núcleos com muita memória. Tem ~ 50% de carga da CPU.
O iotop não parece apontar para nenhum processo específico - algumas explosões de gravações aqui e ali (principalmente cron iniciando, algumas estatísticas de monitoramento geradas etc.) Quando eu costumava sys/vm/block_dump
reunir as estatísticas de gravação, obtinha listas como esta:
kjournald(1352): 1909
sendmail(28934): 13
cron(28910): 12
cron(28912): 11
munin-node(29015): 3
cron(28913): 3
check_asterisk_(28917): 3
sh(28917): 2
munin-node(29022): 2
munin-node(29021): 2
Onde as kjournald
ações são apenas WRITEs.
Por que isso está acontecendo? O que mais devo olhar para limitar um pouco a atividade do kjournald? Parece desproporcional ao que realmente está sendo escrito.
linux
filesystems
tuning
kjournald
viraptor
fonte
fonte
Respostas:
kjournald
é responsável pelo diário do ext3 (sistema de arquivos de registro no diário). É conhecido por usar muita CPU sob certas cargas. Não há muito o que fazer, exceto usar outro sistema de arquivos ou desativar o registro no diário (criando efetivamente o ext2 do fs).Teoricamente, você pode usar um dos outros modos de registro ext3 no diário e verificar se o uso da CPU diminui, mas lembre-se de que cada método compromete a segurança dos dados que estão sendo gravados no disco. Você encomendou o modo, o modo write-back e o modo 'tudo'.
Você define o modo usando a opção
data=
ao montar o sistema, comodata=ordered
.fonte
Por padrão, seu sistema de arquivos ext3 será montado com as vezes ativadas. Cada vez que um arquivo ou diretório é lido / acessado, o sistema de arquivos terá que gravar de volta nos discos para atualizar esse registro atime. Isso significa que, mesmo que sua carga de trabalho seja baseada principalmente na leitura, você ainda precisará acessar os discos para atualizar os tempos de acesso de cada arquivo e diretório, e esse é meu palpite sobre o motivo pelo qual
kjournald
processo estava gravando tantos blocos.Desativar o atime's trará um grande impulso ao desempenho, mas quebrará a conformidade com o POSIX. Confira este artigo da Wikipedia para algumas discussões sobre as críticas do atime.
Para desativar as vezes, basta adicionar
noatime
às opções de montagem do seu sistema de arquivos ou remontar conforme sugerido por poige. Aqui está um exemplo para o seu sistema de arquivos raiz:fonte
relatime
um compromisso aceitável entrenoatime
eatime
.Se a perfeição dos dados não for importante: faça isso
Certifique-se de que é realmente kjournald. É o que causa o travamento do meu servidor.
Mudar o disco rígido para SSD funcionaria.
Quando você vê o kjournald escrevendo 5 a 10 MB de dados,
http://ubuntuforums.org/showthread.php?t=56621
onde sda1 é o nome da sua partição
Relatar o resultado no comentário para que eu possa verificar melhor.
fonte
Não na ordem de fazer, apenas para mencionar:
mount -oremount,noatime /fs/being_over/journaled
- como um palpite rápido (você não nos mostrou qual é a suamount
aparência)tune2fs -J …
)fonte