Verifique se seu script traduziu os contadores de beans brutos corretamente. De acordo com isso, você tem apenas 256 MB de RAM, não 4 GB como seu administrador lhe diz.
concentre-se apenas em 2 beans:
- privvmpages - quantidade máxima de memória que seu contêiner pode alocar (reservar)
- oomguarpages - quantidade garantida de memória que seu contêiner vai usar. Em caso de situação de memória apertada no host, tudo que estiver usando acima desse valor provavelmente será eliminado.
Java é famoso por alocar gobs de memória e nunca usá-los, contando com o sistema operacional para supercomprometido . Na minha experiência, você precisa de pelo menos um gig de privvmpages para executar a JVM de forma confiável, embora apenas algumas dúzias de megs sejam usadas.
Depois de alguns meses experimentando e tentando conter privvmpages em VEs rodando Java, eu pessoalmente desisti, eu apenas configurei a barreira para o máximo e ajustei as oomguparages apropriadamente e esperei pelo melhor;)