O Java Server Application leva mais RAM do que o máximo alocado!

0

Estou hospedando um aplicativo de servidor java em um servidor-raiz do Linux.

Meu problema é que, às vezes, o servidor recebe mais RAM do que o máximo alocado , o que leva a um processo automático de destruição (crash).

Esse é o meu script inicial:

nohup java -Xmx900m -Xms900m -XX:MaxPermSize=128m -jar -Xss1m jar-file.jar &

Como você pode ver, eu também configuro a RAM mínima e máxima (-Xms900, -Xmx900m), então não deve haver um problema.

Alguém sabe o que estou fazendo errado? Se sim, por favor, me diga e me mostre um "script de início melhorado".

Felicidades, Ishidres

    
por Ishidres 06.02.2017 / 19:15

1 resposta

1

Na verdade, Xms e Xmx determinam o lmit do tamanho do heap, mas existem outras regiões de memória: Stack (Xss x Número de Threads) + PermGen + CodeCahe (48 MB por padrão no Java 7) + Memória Direta.

Em geral, eles adicionam aproximadamente 1/2 GB se não houver especificações.

    
por 18.05.2017 / 16:36