Eu estava percebendo que nossos testes consumiam cada vez mais memória quando um querido colega de trabalho me aconselhou a mudar o jvm de 64bits para 32bits. Depois de ler sua fonte , eu tentei e realmente notei uma melhoria na pegada de memória jvm de 42%. Então eu fiz na pilha completa VM gentoo (1 core e 2 Gb) + mysqld + ruby + jvm. Eu construí uma pilha de 32 bits e uma de 64 bits e aqui estão os resultados:
Em termos de memória, passar de 64bits para 32bits representa um ganho de 38% e em termos de processador, um ganho de 12%. Os testes são um pouco mais rápidos, mas a principal preocupação era o consumo de memória. Então, meu colega de trabalho estava certo, mesmo para ruby, se seu aplicativo tiver menos de 2 Gb, escolha a arquitetura de 32 bits.
(Eu usei um script bash para reunir dados como csv ps - C “process_name”
e um script ruby para desenhar o gráfico com a API do Google, se você estiver interessado, aqui está a essência !)