Aumentar el espacio Heap en Java

Rupam Yadav 12 octubre 2023
  1. Aumente el tamaño del heap de Java mediante la línea de comandos
  2. Aumente el tamaño del heap de Java en un entorno de desarrollo integrado (IDE)
Aumentar el espacio Heap en Java

En Java, el espacio Heap se usa principalmente para la recolección de basura y la asignación de memoria a los objetos.

Se asigna un espacio de heap predeterminado al instalar la JVM en nuestra máquina, pero puede variar. Los siguientes puntos muestran cómo podemos aumentar el tamaño del montón usando dos formas en Java.

Aumente el tamaño del heap de Java mediante la línea de comandos

El primer método para aumentar el tamaño del heap en Java es usar la línea de comando para ejecutar los comandos que anulan el espacio de heap predeterminado de Java. Seguimos los siguientes dos pasos.

Paso 1: compruebe el tamaño máximo predeterminado del heap en Java

Antes de cambiar el tamaño del heap en Java, debemos conocer el tamaño máximo predeterminado del heap asignado a la JVM. Para ello usamos el código Runtime.getRuntime().maxMemory() que devuelve el tamaño máximo de heap en bytes.

En el programa, obtenemos el espacio de heap máximo en bytes y lo convertimos a un formato más legible como megabytes o gigabytes. El resultado muestra que nuestro tamaño predeterminado actual es de alrededor de 1,48 GB.

Realizamos este paso para no asignar un tamaño más pequeño que el tamaño predeterminado del montón.

public class JavaExample {
  public static void main(String[] args) {
    double maxHeapSize = Runtime.getRuntime().maxMemory();
    String sizeInReadableForm;

    double kbSize = maxHeapSize / 1024;
    double mbSize = kbSize / 1024;
    double gbSize = mbSize / 1024;

    if (gbSize > 0) {
      sizeInReadableForm = gbSize + " GB";
    } else if (mbSize > 0) {
      sizeInReadableForm = mbSize + " MB";
    } else {
      sizeInReadableForm = kbSize + " KB";
    }

    System.out.println("Maximum Heap Size: " + sizeInReadableForm);
  }
}

Producción :

Maximum Heap Size: 1.48046875 GB

Paso 2: utilice la línea de comandos para establecer el tamaño máximo de heap

Ahora que conocemos el espacio de heap máximo de Java, lo aumentamos mediante la línea de comandos.

Para obtener los comandos que podemos usar para modificar el tamaño del heap, abrimos la línea de comando y usamos el comando java -X que devuelve una lista completa de comandos, pero solo nos interesan los siguientes dos comandos.

El comando -Xms establece el tamaño de pila inicial y mínimo, mientras que -Xms establece el tamaño máximo; Necesitamos usar el segundo comando.

 -Xms<size>        set initial Java heap size
 -Xmx<size>        set maximum Java heap size

En la línea de comandos escribimos el siguiente comando que ejecuta el programa que vemos en el primer paso.

Usamos el -Xmx2g para aumentar el tamaño del heap en 2 GB. Observe que escribimos la unidad de almacenamiento como un solo carácter; por ejemplo, si queremos establecer un tamaño de heap de 2 GB, escribimos 2 g.

El resultado muestra que el tamaño predeterminado de alrededor de 1,4 GB ahora se modifica a 2,0 GB.

java -Xmx2g JavaExample

Producción :

Maximum Heap Size: 2.0 GB

Aumente el tamaño del heap de Java en un entorno de desarrollo integrado (IDE)

También podemos aumentar el espacio de heap de Java en un IDE si ejecutamos el programa. Aunque algunos IDE pueden tener diferentes pasos para realizar la tarea, si seguimos estos pasos, podemos modificar el tamaño del montón en la mayoría de los IDE.

  • Encontramos el elemento de menú Run en la barra de menú.
  • En el elemento de menú Run, habrá una opción llamada Run Configurations o Edit Configurations que tenemos que abrir.
  • Se abrirá un cuadro de diálogo para mostrar detalles sobre la aplicación que queremos ejecutar con las configuraciones.

    Habrá dos cuadros de entrada: uno para los argumentos del programa y el segundo para los argumentos de la VM. Si no hay un cuadro de entrada para los argumentos de la VM, podemos agregarlos usando el botón Modify Options.

  • En el cuadro de entrada de los argumentos de la VM, escribimos el siguiente comando para ejecutar el programa con el tamaño de heap aumentado.
    -Xmx2g
    
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Artículo relacionado - Java Heap