Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 67240|Resposta: 2

[Fonte] O erro JAVA ocorreu durante a inicialização do erro da VM

[Copiar link]
Publicado em 14/08/2017 16:49:22 | | | |
O erro ocorreu durante a inicialização da VM
Não consegui reservar espaço suficiente para o heap de objetos de 3145728KB



Recentemente estou trabalhando em um programa para Java. Originalmente, sempre gostei do gerenciamento de memória do Java, não precisa se preocupar em alocar memória, é só alocar, o coletor de lixo recupera a memória para você. Agora o programa é desenvolvido com uma grande quantidade de dados e, para agilizar, vou carregar todas as informações na memória, o que garantirá uma resposta rápida. Ainda estou contando a memória repetidamente, pensando na minha própria quantidade de dados, que deve ser suficiente no começo (minha máquina tem memória 4G, embora o Windows reconheça 3,5G, mas deve estar tudo bem comparado ao volume de dados atual).

Inesperadamente, o programa do primeiro experimento durou algumas horas e encontrou uma Exceção de Falta de Memória. Olhando as configurações da minha própria VM, defini -Xms512M -Xmx1024M. Sem pensar, mudei diretamente para -Xms512M -Xmx2048M, e o resultado foi que não consegui reservar espaço suficiente para o object heap. O programa não consegue levantar. Só então percebi que ainda havia um limite para a memória máxima original. Pesquisei na internet e encontrei muitos artigos discutindo esse assunto. Finalmente, encontrei o artigo mais útil no fórum DEV2DEV da BEA

Aqui, o moderador YuLimin fez o teste e chegou à conclusão:

Versão da JVM da empresa Cliente de memória máxima (mega) Servidor de memória máxima (mega)

SOL 1.5.x 1492 1520

SUN 1.5.5 (Linux) 2634 2660

DOM 1.4.2 1564 1564

SUN 1.4.2 (Linux) 1900 1260

IBM 1.4.2(Linux) 2047 N/A

BEA JRockit 1.5 (U3) 1909 1902

Estou usando JDK1.6.0_05 agora, testei. O maior problema no estado do cliente é que meu JDK não reconhece o parâmetro -Server e não consegue testar o estado do servidor. As estimativas são mais ou menos as mesmas.

DOM 1.6.0 1442 N/d

Parece impossível usar grande memória em Java. E o ditado geral é que, se a memória for muito grande, o tempo de coleta de lixo será longo. Isso também é compreensível, geralmente coletado quando a memória não é suficiente, a varredura da memória 2G é, claro, muito mais lenta que 1G, e há mais objetos de memória, a relação estimada está aumentando exponencialmente.

Abaixo estão anexados os métodos de teste e registros de teste do YuLimin.

Método de Teste:Teste com o comando java -XmxXXXXM -version na linha de comando, e então aumentar gradualmente o valor de XXXX, se for executado normalmente, significa que o tamanho de memória especificado está disponível, caso contrário uma mensagem de erro será impressa.





Teste a memória máxima suportada da JVM e então defina as variáveis de ambiente no sistema

Nome da variável: _JAVA_OPTIONS
Valor: - Xmx1G






Anterior:O plugin de tela cheia "jQuery Fullscreen Plugin" é usado
Próximo:A diferença entre certificados SSL, OV, DV e EV
 Senhorio| Publicado em 14/08/2017 16:51:30 |
Versão Java "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) Servidor VM de 64 bits (build 25.144-b01, modo misto)



Versão Java "1.8.0_144" Modo lado servidor de 64 bits, memória 80G, sem problemas

 Senhorio| Publicado em 01/09/2020 22:29:04 |
Parâmetros da JVM Opções
https://www.itsvse.com/thread-9369-1-1.html

Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com