Pergunta

Supondo que eu começar a minha máquina virtual java, com os seguintes parâmetros:

-Xms1024m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m

Fazer o 512m PermGen space adicionar para o 1024m de memória ou são eles parte?Ou, em outras palavras, eu tenho um consumo de memória total de 1536m ou de 1024m?Neste último caso, isso significa que o aplicativo tem apenas 512mb para outros fins que PermGen space?

Por favor, deixe-me saber no caso desta questão revela uma falta de compreensão PermGen space.;-)

Foi útil?

Solução

o -Xms e -Xmx Parâmetros consulivos heap Memória, enquanto o espaço permgen é um pool de memória separado.

Em outras palavras, o tamanho total da memória disponível para o seu aplicativo Java será de 1,5 gib em vez de 1 gib, e você obterá o gigabyte completo do espaço para objetos alocados por heap.

Outras dicas

Eu apenas cruzei nesta página através do Google.Este é certa confusão se PerGen faz parte da Pilha ou não:A resposta é "Pilha é dividida em pequenas peças/gerações e estas peças são:Uma Geração de jovens, de Idade ou Permanente Geração, e Permanente Geração".Isto é o que a Oracle diz que, para dizer o mínimo.Faz muito mais sentido ir pelo o que o emissor diz do que pelo público no domínio da web.

Uma breve nota sobre PermGen: Permanente geração contém metadados exigidos pela JVM para descrever as classes e os métodos utilizados na aplicação.A permanente geração é preenchido pela JVM em tempo de execução baseado em classes de uso pelo aplicativo.Além disso, o Java SE de uma biblioteca de classes e métodos que podem ser armazenados aqui.

Na JVM da Sun, a geração permanente não faz parte da pilha. É um espaço diferente para definições de classes e dados relacionados, bem como onde as cordas internadas vivem.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top