En primer lugar, tengo una caja con 8 GB de RAM, así que dudo que el problema sea la memoria total. Esta aplicación funciona bien en máquinas con 6 GB o menos.
Estoy tratando de reservar 3 GB de espacio usando -Xmx3G en "Argumentos de VM" en Configuraciones de ejecución en Eclipse.
Cada vez que intento reservar más de 1500 MB, aparece este error: “Se produjo un error durante la inicialización de la VM; No se pudo reservar suficiente espacio para el montón de objetos ”usando -Xmx3G
¿Que esta pasando aqui?
java
eclipse
jvm
jvm-arguments
usuario1212731
fuente
fuente
Respuestas:
¿Podría ser que esté usando un jvm de 32 bits en esa máquina?
fuente
A continuación se explica cómo solucionarlo: Vaya a
Start->Control Panel->System->Advanced(tab)->Environment Variables->System
Cambie esto a su ruta apropiada .
fuente
En realidad, este no es un problema específico de Eclipse; es un problema general de Java en Windows. Es debido a cómo la JVM asigna memoria en Windows; insiste en asignar una porción contigua de memoria, que a menudo Windows no puede proporcionar, incluso si hay suficientes porciones separadas para satisfacer la solicitud de asignación. Hay utilidades que intentarán ayudar a Windows a "desfragmentar" su memoria, lo que, en teoría, ayudaría a esta situación; pero realmente no los he probado en serio, así que no puedo hablar de su efectividad. Una cosa que he escuchado a veces que puede ayudar es reiniciar Windows y, antes de iniciar cualquier otra aplicación, iniciar la aplicación Java que necesita una gran cantidad de memoria. Si tiene suerte, Windows todavía no habrá fragmentado su espacio de memoria y Java obtendrá el bloque contiguo que se solicita.
En algún lugar de Internet hay más explicaciones técnicas y análisis de este problema, pero no tengo ninguna referencia a la mano.
Sin embargo, encontré esto, que parece útil: https://stackoverflow.com/a/497757/639520
fuente
Primero, el JRE de 32 bits no puede usar más ~ 1,5 Gb de RAM. Entonces, si quieres más, usa un JRE de 64 bits.
En segundo lugar, cuando se inicia una nueva JVM, esta suma la propiedad -Xmx de todas las JVM que se están ejecutando y verifica si queda suficiente memoria en el sistema para ejecutarse en su propio -Xmx, si no es suficiente, se produce el error.
fuente
Estaba usando Liferay con el servidor Tomcat de eclipse IDE. Me quedé atascado con este mismo error al hacer clic en el inicio del servidor. Haga doble clic en el servidor de eclipse. abre la página Descripción general del servidor. Argumentos de memoria actualizados de -Xmx1024m -XX: MaxPermSize = 256m a -Xmx512m -XX: MaxPermSize = 256m. Entonces funcionó para mí.
fuente
Asegúrese de que Eclipse esté ejecutando la misma JVM que cree que está ejecutando. Si alguna vez usa java en su navegador web, es probable que tenga una versión de 32 bits flotando también que podría tener prioridad si se instaló o actualizó últimamente.
Para estar absolutamente seguro, recomiendo agregar estas dos líneas a su
eclipse.ini
archivo en la parte superior:-vm C:/Java/jdk1.6.0_27/bin
... en
C:/Java/jdk1.6.0_27/bin
qué lugar de mi máquina se encuentra la JVM que sé que es de 64 bits. Asegúrese de tener labin
carpeta allí.(Como beneficio adicional, en Windows 7, esto también le permite "fijar la pestaña", por lo que tuve que hacer esto para mi propio uso)
fuente
eclipse.ini
página: wiki.eclipse.org/…Este es el problema del tamaño del montón. Edite su
.bat
(archivo por lotes). Puede que muestre un tamaño de pila 1024. Cámbielo a 512 Entonces debería funcionar.fuente
También tuve el mismo problema al usar Eclipse, que era de 32 bits y la JVM que usaba era de 64 bits. Cuando enrute el Eclipse a JVM de 32 bits, funcionó
fuente
Simplemente coloque el
#
símbolo delante deorg.gradle.jvmargs=-Xmx1536m
en gradle.propertiesfuente
Sé que llego un poco tarde, pero aquí viene mi respuesta:
Acabo de instalar la versión en línea de Java de Oracle (no la versión de 64 bits sin conexión).
Después de haber agregado la variable JAVA_HOME ENV, ¡simplemente funcionó!
Espero poder ayudar :)
fuente
Probablemente esté intentando opciones incorrectas de todos modos. Recibí un error similar con el registro de errores de soporte:
Java HotSpot(TM) Client VM warning: ignoring option PermSize=32M; support was removed in 8.0 Java HotSpot(TM) Client VM warning: ignoring option MaxPermSize=128M; support was removed in 8.0
En mi caso, el software todavía no era compatible con Java 8 (el script usaba argumentos antiguos de JVM), pero yo tenía Java 8 de forma predeterminada.
fuente
Una de las razones de este problema es que no hay memoria disponible para que Tomcat se inicie. Intente eliminar el software en ejecución no deseado de Windows y reinicie eclipse y tomcat.
fuente