Quanta memória deve ser deixada para o sistema operacional com um aplicativo do servidor java? [fechadas]

2

Suponha que eu esteja executando o tomcat com -Xms256m -Xmx1024m, mas gostaria de aumentar meu uso de heap.

Qual é o maior tamanho de heap seguro que posso alocar?

Para o propósito desta questão, suponha que o sistema tenha 5 GB de RAM e seja um sistema z / Linux. No entanto, se possível, eu gostaria de uma resposta geral mais ampla.

Além disso, se esta for uma duplicata, desculpe. Fiquei surpreso por não encontrar mais informações sobre esse tipo de coisa.

Não duplicado de: Eu olhei para aqui , no entanto, sua resposta parece ser apenas um palpite, sem backup. As outras respostas nessa questão não são muito claras e / ou específicas ao meu problema. 1) Eu não estou em uma janela 32 bit system, 2) Eu não estava perguntando sobre PermGen, embora possa ser mencionado em uma boa resposta, 3) A terceira resposta disse "Finalmente, você também tem que levar em conta a outra coisas que estão rodando no servidor e que precisam de RAM também ", mas esta não é uma resposta precisa. Estou preocupado com o uso de memória por enquanto.

Edit: Este é um sistema dedicado, então estou mais preocupado com o uso de memória do sistema operacional. Eu não estou preocupado com outros programas.

GC

    
por GC_ 22.05.2015 / 18:39

1 resposta

1

O tamanho máximo do heap que você deseja atribuir será baseado na utilização do seu sistema de recursos próprios, outros serviços que estão sendo executados, etc. Você deseja atribuir um tamanho de heap que deixe memória suficiente disponível para o SO para evitar paginação de memória. Isso é mais um problema no Windows, mas o problema também é visto no Linux (sou mais especialista em Windows que Linux, então sinto muito por isso).

Primeiro, você deseja verificar a utilização de recursos de seus sistemas: link

Em seguida, você deseja ver como o arquivo de sua página está configurado: link

Em seguida, você terá que testar diferentes configurações com base nas informações coletadas anteriormente e observar a utilização do arquivo de página: link

Se o seu arquivo de página estiver sendo muito utilizado, o tamanho do heap será muito grande. Se estiver sendo usado muito pouco ou nada, você pode tentar aumentar seu tamanho de heap para melhorar o desempenho (os resultados de desempenho reais variam entre diferentes aplicativos Java e o aumento do tamanho de heap pode piorar alguns aplicativos devido à maneira como eles estão programados).

Você deseja certificar-se de atribuir a quantidade adequada de memória para que seu SO tenha RAM livre suficiente para manter facilmente o arquivo de paginação, e seu aplicativo tenha bastante memória atribuída a ele. No Windows, eu tento manter pelo menos 25% de RAM livre sob carga. Eu tentaria configurações diferentes e observaria o desempenho do seu sistema.

UMA NOTA MAIS IMPORTANTE ATENÇÃO: No Java 8, você não precisa definir esses itens, o Java 8 parece ser melhor em manter esses valores, em vez de atribuí-los estatisticamente.

    
por 22.05.2015 / 19:04