Em primeiro lugar, tenho uma caixa com 8 GB de RAM, então duvido que a memória total seja o problema. Este aplicativo está funcionando bem em máquinas com 6 GB ou menos.
Estou tentando reservar 3 GB de espaço usando -Xmx3G em "VM Arguments" em Run Configurations in Eclipse.
Cada vez que tento reservar mais de 1500 MB, recebo este erro: “Ocorreu um erro durante a inicialização do VM; Não foi possível reservar espaço suficiente para o heap do objeto ”usando -Xmx3G
O que está acontecendo aqui?
java
eclipse
jvm
jvm-arguments
user1212731
fonte
fonte
Respostas:
Será que você está usando um jvm de 32 bits nessa máquina?
fonte
Veja como consertar: Vá para
Start->Control Panel->System->Advanced(tab)->Environment Variables->System
Mude para o caminho apropriado .
fonte
Na verdade, esse não é um problema específico do Eclipse; é um problema geral do Java no Windows. É por causa de como a JVM aloca memória no Windows; ele insiste em alocar um bloco contíguo de memória, o que muitas vezes o Windows não pode fornecer, mesmo que haja blocos separados o suficiente para atender à solicitação de alocação. Existem utilitários que vão tentar ajudar o Windows a "desfragmentar" sua memória, o que, em tese, ajudaria nessa situação; mas eu realmente não os experimentei com seriedade, então não posso falar sobre sua eficácia. Uma coisa que às vezes ouvi que pode ajudar é reiniciar o Windows e, antes de iniciar qualquer outro aplicativo, iniciar o aplicativo Java que precisa de um grande pedaço de memória. Se você tiver sorte, o Windows ainda não terá fragmentado seu espaço de memória e o Java obterá o bloco contíguo que é solicitado.
Em algum lugar nas interwebs há mais explicações e análises técnicas sobre o assunto, mas não tenho nenhuma referência disponível.
Eu achei isso, porém, que parece útil: https://stackoverflow.com/a/497757/639520
fonte
Primeiro, o JRE de 32 bits não pode usar mais ~ 1,5 Gb de RAM. Portanto, se você quiser mais, use um JRE de 64 bits.
Em segundo lugar, quando uma nova JVM é iniciada, isso soma a propriedade -Xmx de todas as JVM que estão em execução e verifica se há memória suficiente restante no sistema para executar em seu próprio -Xmx; se não for suficiente, ocorre o erro.
fonte
Eu estava usando o Liferay com o servidor Tomcat do Eclipse IDE. Eu estava preso com este mesmo erro ao clicar na inicialização do servidor. Clique duas vezes no servidor do eclipse. ele abre a página Visão geral do servidor. Argumentos de memória atualizados de -Xmx1024m -XX: MaxPermSize = 256m para -Xmx512m -XX: MaxPermSize = 256m. Então estava funcionando para mim.
fonte
Certifique-se de que o Eclipse esteja realmente executando a mesma JVM que você pensa que está executando. Se você usa java em seu navegador da web, provavelmente também possui uma versão de 32 bits que pode estar tendo precedência se instalada ou atualizada recentemente.
Para ter certeza absoluta, recomendo adicionar estas duas linhas ao seu
eclipse.ini
arquivo na parte superior:... onde na minha máquina está
C:/Java/jdk1.6.0_27/bin
localizada a JVM que conheço de 64 bits. Certifique-se de ter abin
pasta lá.(Como um bônus, no Windows 7, isso também permite que você realmente "fixe a guia", e é por isso que tive que fazer isso para meu próprio uso)
fonte
eclipse.ini
página: wiki.eclipse.org/…Essa é a questão do tamanho do heap. Edite seu
.bat
(arquivo em lote). Pode ser que o tamanho do heap seja 1024. Altere para 512 Então ele deve funcionar.fonte
Eu também tive o mesmo problema ao usar o Eclipse que era de 32 bits e o JVM usado por ele era de 64 bits. Quando eu direcionei o Eclipse para JVM de 32 bits, ele funcionou
fonte
Basta colocar o
#
símbolo na frente deorg.gradle.jvmargs=-Xmx1536m
em gradle.propertiesfonte
Provavelmente você está tentando opções erradas de qualquer maneira. Recebi um erro semelhante com o suporte ao log de erros:
No meu caso, o software ainda não suportava java 8 (o script estava usando argumentos JVM antigos), mas eu tinha o java 8 por padrão.
fonte
Um dos motivos desse problema é a falta de memória disponível para o Tomcat iniciar. Tente excluir o software em execução indesejado do Windows e reinicie o eclipse e o tomcat.
fonte
Eu sei que estou um pouco atrasado, mas aí vem minha resposta:
Acabei de instalar a versão online do Java da Oracle (não a versão offline de 64 bits).
Depois de adicionar a variável JAVA_HOME ENV, funcionou!
Espero poder ajudar :)
fonte