Aumentar la cantidad de memoria RAM para aplicaciones Java en Windows y Linux
En el post de hoy veremos como conseguir que un proceso Java disponga de más cantidad de memoria en unos sencillos pasos. ¿Alguna vez te ha pasado que, al ejecutar una aplicación basada en Java (existen muchísimas) te ha salido un error en un punto diciendo que se ha alcanzado el tamaño máximo de memoria que Java tiene disponible?
Las aplicaciones Java llegan a consumir muchos recursos, motivo que lleva en ocasiones a que los desarrolladores limiten la memoria máxima que puede consumir su proceso, para no dejar sin recursos el sistema. Lo que ocurre es que en ciertos casos el proceso no tendrá suficiente memoria para completar su objetivo y este se detendrá por falta de recursos.
Sigue leyendo para saber como solucionarlo en sistemas Windows o Linux, como Debian/Ubuntu.
Modificar la cantidad de memoria que las aplicaciones Java tienen disponible
Las aplicaciones basadas en Java se ejecutan sobre lo que denominamos JVM o Java Virtual Machine. Existen una serie de parámetros para controlar la memoria asignada a una JVM. Las dos primeras propiedades son las que nos interesan en adelante.
Si tenemos un equipo con bastantes recursos podemos tocar esto sin ningún miedo.
Asignar el tamaño máximo de memoria que podrá usar la JVM
-Xmx2048m
Asignar el tamaño inicial de memoria que usará la JVM
-Xms1024m
Ajustar la memoria de generación permanente
-XX:MaxPermSize=512M
En diferentes equipos (con diferentes sistemas y capacidades de memoria física o virtual) Java se comportará de forma diferente por definición. Si queremos saber la cantidad de memoria máxima que utilizará en nuestro sistema podemos lanzar el comando:
java -XshowSettings:vm
En nuestro caso:
Ajuste en Windows
Si es necesario, descargaremos Java en su versión de 64 bits (específicamente)
Iremos al Panel de Control > Todos los Elementos del panel de control > Sistema
- Para ir al panel de control rápidamente pulsa WIN +R seguido de «control» e INTRO o incluso escribir «control system» para ir directamente a la siguiente pantalla.
Una vez allí, abriremos el apartado Variables de Entorno:
Pulsaremos sobre Nueva dentro del apartado inferior (Sistema).
Escogeremos una opción de memoria máxima, donde RRRR representa los MB de memoria RAM:
-XmxRRRRm
Aceptaremos y habremos concluido.
NOTA: incluso aunque tengamos un equipo con mucha memoria RAM, si asignamos un valor muy elevado es posible que la aplicación no lo soporte y por tanto no pueda arrancar. En ese caso reduciremos el límite.
Ajuste en Linux
Para ajustar la cantidad de memoria máxima que podrán usar las aplicaciones Java en sistemas Linux, lo tenemos muy fácil.
- Abriremos un terminal
- Editaremos el archivo /etc/environment como superusuario:
sudo nano /etc/environment
Una vez abierto el archivo añadiremos al mismo la siguiente linea:
export _JAVA_OPTIONS=»-XmxRRRRm»
Salvaremos los cambios al archivo pulsando CTRL + X (si es nano) o ESC + !wq + INTRO si es VIM o….bueno, ya sabéis.
Ahora ejecutaremos el comando:
source /etc/environment
Los cambios se habrá aplicado sin necesidad de reiniciar.
Categories
deweloper View All
Trabajo como consultor de ciberseguridad y me gusta lo que hago. Aficionado a la informática / tecnología en general, me gusta compartir con la gente lo poco que sé. También soy aficionado al deporte y los videojuegos.
Pues la verdad que a mí no me ha pasado nunca, pero oye, quien sabe si algún día me vendrá bien este curioso artículo.
Muchas gracias.
😄