Augmenter l'espace de tas en Java

Rupam Yadav 12 octobre 2023
  1. Augmenter la taille du tas Java à l’aide de la ligne de commande
  2. Augmenter la taille du tas Java dans un environnement de développement intégré (IDE)
Augmenter l'espace de tas en Java

En Java, Heap Space est principalement utilisé pour le ramasse-miettes et l’allocation de mémoire aux objets.

Un espace Heap par défaut est alloué lors de l’installation de la JVM sur notre machine, mais il peut varier. Les points suivants montrent comment nous pouvons augmenter la taille du tas de deux manières en Java.

Augmenter la taille du tas Java à l’aide de la ligne de commande

La première méthode pour augmenter la taille du tas en Java consiste à utiliser la ligne de commande pour exécuter les commandes qui remplacent l’espace de tas Java par défaut. Nous suivons les deux étapes ci-dessous.

Étape 1 : Vérifier la taille de segment de mémoire maximale par défaut en Java

Avant de modifier la taille du tas en Java, nous devons connaître la taille de tas maximale par défaut allouée à la JVM. Pour ce faire, nous utilisons le code Runtime.getRuntime().maxMemory() qui renvoie la taille maximale du tas en octets.

Dans le programme, nous obtenons l’espace de tas maximal en octets et le convertissons dans un format plus lisible comme les mégaoctets ou les gigaoctets. La sortie montre que notre taille par défaut actuelle est d’environ 1,48 Go.

Nous effectuons cette étape afin de ne pas allouer une taille inférieure à la taille par défaut du tas.

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);
  }
}

Production :

Maximum Heap Size: 1.48046875 GB

Étape 2 : Utilisez la ligne de commande pour définir la taille de segment de mémoire maximale

Maintenant que nous connaissons l’espace maximum du tas Java, nous l’augmentons à l’aide de la ligne de commande.

Pour obtenir les commandes que nous pouvons utiliser pour modifier la taille du tas, nous ouvrons la ligne de commande et utilisons la commande java -X qui renvoie toute une liste de commandes, mais nous nous intéressons uniquement aux deux commandes suivantes.

La commande -Xms définit la taille initiale et minimale du tas tandis que le -Xms définit la taille maximale ; nous devons utiliser la deuxième commande.

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

Dans la ligne de commande, nous écrivons la commande suivante qui exécute le programme que nous voyons dans la première étape.

Nous utilisons le -Xmx2g pour augmenter la taille du tas de 2 Go. Notez que nous écrivons l’unité de stockage sous la forme d’un seul caractère ; par exemple, si nous voulons définir une taille de tas de 2 Go, nous écrivons 2g.

La sortie montre que la taille par défaut d’environ 1,4 Go est maintenant modifiée à 2,0 Go.

java -Xmx2g JavaExample

Production :

Maximum Heap Size: 2.0 GB

Augmenter la taille du tas Java dans un environnement de développement intégré (IDE)

Nous pouvons également augmenter l’espace de tas Java dans un IDE si nous exécutons le programme. Bien que certains IDE puissent avoir des étapes différentes pour effectuer la tâche, si nous suivons ces étapes, nous pouvons modifier la taille du tas dans la majorité des IDE.

  • Nous trouvons l’élément de menu Run dans la barre de menus.
  • Dans l’élément de menu Run, il y aura une option nommée Run Configurations ou Edit Configurations que nous devons ouvrir.
  • Une boîte de dialogue s’ouvrira pour afficher les détails de l’application que nous voulons exécuter avec les configurations.

    Il y aura deux zones de saisie : une pour les arguments du programme et la seconde pour les arguments de la machine virtuelle. S’il n’y a pas de boîte de saisie pour les arguments VM, nous pouvons les ajouter en utilisant le bouton Modify Options.

  • Dans la zone de saisie des arguments VM, nous écrivons la commande suivante pour exécuter le programme avec la taille de tas augmentée.
    -Xmx2g
    
Auteur: Rupam Yadav
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

Article connexe - Java Heap