No hay memoria suficiente para que Java Runtime Environment continúe en Eclipse
- Descripción del error y sus causas
-
Posibles soluciones para corregir el error
No hay suficiente memoria para que Java Runtime Environment continúe
Hoy aprenderemos acerca de un error que dice: “No hay suficiente memoria para que Java Runtime Environment continúe”. También encontraremos posibles razones para ello, que nos llevarán a sus soluciones.
Descripción del error y sus causas
Tenemos un programa Java simple que estamos tratando de ejecutar usando Eclipse IDE. Tan pronto como ejecutamos el programa, obtenemos un error que dice: “No hay memoria suficiente para que Java Runtime Environment continúe”.
También es importante señalar que tenemos un ordenador personal con 4 GB de RAM. Estamos utilizando Windows 8 con un procesador Core i3 que tiene alrededor de 20 GB de espacio libre en disco en la unidad C.
También hemos cambiado nuestro Java Runtime Environment (JRE
) de la versión 1.7 a la 1.8, pero el problema parece no solucionarse.
¿Qué significa este error? Recuerde, tenemos dos tipos de errores de “memoria insuficiente”.
El primer error es OutOfMemoryException
que obtenemos cuando se ejecuta un programa Java, y el montón de Java no es tan grande. Significa que el programa Java solicita más memoria al tiempo de ejecución de Java.
Podemos arreglarlo con -Xmx...
.
El error que enfrentamos pertenece al segundo tipo, que ocurre cuando el tiempo de ejecución de Java se queda sin memoria. Lo obtenemos cuando Java requiere el sistema operativo para memoria adicional, y el sistema operativo dice lo siento, ya no tenemos más.
Las siguientes son algunas razones más.
- Este error no se trata de Java y no es necesario actualizar una opción de Java. Este error significa que estamos ejecutando varios programas en nuestra computadora, por lo que no queda memoria para ejecutar un solo programa.
- Existe la posibilidad de que estemos ejecutando un programa que está consumiendo toda nuestra memoria. El
Administrador de tareas
sería útil para encontrar ese programa. - Es posible que el sistema no tenga espacio de intercambio o RAM física.
- Otra posibilidad es que se esté ejecutando un proceso con
CompressedOops
habilitado y el almacenamiento dinámico de Java puede estar bloqueando el crecimiento del almacenamiento dinámico nativo.
Posibles soluciones para corregir el error No hay suficiente memoria para que Java Runtime Environment continúe
Hay muchas posibilidades de que el proceso de JVM se quede sin memoria que podríamos hacer. En nuestra opinión, las posibilidades enumeradas a continuación son las más prometedoras si queremos tener las limitaciones actuales para un proceso.
-
Reduzca el tamaño del almacenamiento dinámico de Java utilizando
-Xmx/-Xms
. En el archivoeclipse.ini
hay una línea como-Xmx1024m
que podemos sustituir, por ejemplo,-Xmx640m
.Podemos probar varias opciones para encontrar qué tamaño máximo de almacenamiento dinámico es suficiente para nuestras necesidades. Recuerda, el
-Xms
debe ser menor que el-Xmx
. -
Podemos usar Eclipse de 64 bits y Eclipse OpenJ9 si tenemos un sistema de 64 bits. Esta solución se sugiere si solo tenemos un sistema de 64 bits porque
OpenJ9
es más eficiente considerando el consumo de memoria. También podemos afinarlo en este sentido. -
Escriba
Administrador de tareas
usando la opciónBuscar
en la barra de tareas y averigüe cuánto de nuestra RAM está libre. ¿Por qué lo estamos revisando?Porque existe la posibilidad de que estemos ejecutando un programa que está consumiendo toda la memoria, por lo que debemos encontrarlo y eliminarlo.
-
Cierre todas las aplicaciones o reinicie su máquina para limpiar la fragmentación de la memoria.
Artículo relacionado - Java Error
- Arreglar Java fue iniciado por el código de salida devuelto = 1
- Arreglar JAVA_HOME no se puede determinar a partir del error de registro en R
- Arreglar java.io.IOException: No queda espacio en el dispositivo en Java
- Arreglar Java.IO.NotSerializableException en Java
- Arreglar Java.Lang.IllegalStateException de Android: no se pudo ejecutar el método de la actividad
- Arreglar Java.Lang.NoClassDefFoundError: No se pudo inicializar el error de clase