Máquina: Dell r815, CentOS 5.4, 256 GB de RAM, 4 x 12 núcleos.
Temos um aplicativo que possui um arquivo de 275GB. Ele classifica 20 GB de dados por vez, ou seja, troca bits e os substitui no mesmo arquivo. Tudo isso funciona bem.
Há uma última passagem que lê o arquivo inteiro e faz uma classificação de mesclagem nos diferentes blocos de 20 GB e os envia para um arquivo totalmente novo.
Esse processo parece funcionar bem por um tempo e acaba liberando cerca de 50 GB no disco. Algum tempo depois disso, a máquina inteira começa a surtar.
Comandos simples como ps -ef
, ls -al
por um longo tempo, aparecem como tendo 100% da CPU (que é apenas um núcleo).
Observando as estatísticas de memória top
, vejo que ele usa cerca de 120 GB de RAM (portanto, 128 GB livres) e tem 120 GB na seção "em cache".
Alguém já viu esse tipo de comportamento antes? O mesmo processo funciona bem em uma máquina com 64 GB de memória - então, de alguma forma, acho que está relacionado à montagem de RAM que tenho na máquina.
(enquanto falamos, estou executando o teste nesta máquina com apenas 64 GB - para descartar um problema de hardware).
Talvez eu esteja faltando alguns parâmetros vm /etc/sysctrl.conf
?
Obrigado!