Index

wrapper.java.maxmemory

Compatibilité :1.0.0
Éditions :Édition ProfessionnelleÉdition StandardÉdition Community
Plateformes :WindowsMac OSXLinuxAlpine LinuxFreeBSDSolarisIBM z/Linux

La quantité maximale de mémoire en mégaoctets que la JVM sera autorisée à utiliser. La valeur par défaut est « 0 » (zéro), ce qui entraînera l'utilisation de la valeur par défaut de la JVM. Pour la plupart des JVM, la valeur par défaut est « 64 Mo ».

Si une valeur non nulle est spécifiée pour cette propriété, alors un paramètre -Xmx approprié sera ajouté à la commande Java générée par le Wrapper. Si elle est spécifiée, la mémoire maximale doit être supérieure ou égale à la valeur définie pour la propriété wrapper.java.initmemory. La limite supérieure exacte dépend de la JVM, mais pour les JVM 32 bits, elle tend à être inférieure à 2048 Mo, plus proche de 1800 Mo dans la plupart des cas. Les JVM 64 bits permettent des réglages beaucoup plus élevés, ce qui est l'une des principales raisons d'utiliser une JVM 64 bits.

Si cette propriété est définie à « 0 » (zéro), il est également possible de spécifier le paramètre -Xmx manuellement à l'aide de la propriété wrapper.java.additional.<n>.

Exemple : (64 Mo)
wrapper.java.maxmemory=64

Cette propriété est fournie pour la commodité de la plupart des utilisateurs, et permet également de définir des tailles de mémoire relatives comme décrit dans la propriété wrapper.java.maxmemory.percent. Si vous avez besoin de configurations de mémoire plus complexes, cela peut être réalisé à l'aide des propriétés wrapper.java.additional.<n> comme suit :

Exemple équivalent : (3 Mo)
wrapper.java.additional.1=-Xmx64m

NOTE

Si une application rencontre des java.lang.OutOfMemoryErrors, cela indique souvent que la quantité maximale de mémoire disponible pour l'application doit être augmentée. Sachez que définir la mémoire maximale à une valeur supérieure à la quantité de mémoire réelle de la machine entraînera du swapping de la mémoire. Le swapping de la mémoire est une fonction du système d'exploitation (OS), et ses performances sont donc fortement spécifiques à l'OS. Cependant, d'après l'expérience, cela tend à entraîner une importante diminution des performances de l'application. Dans la plupart des cas, il est préférable de définir la mémoire maximale à une valeur qui tient dans la mémoire disponible, puis de s'appuyer sur le ramasse-miettes de Java.

NOTE

Nous recommandons de consulter les liens suivants, qui décrivent en détail comment les valeurs de mémoire initiale et maximale affectent les performances de Java et ce qui peut être fait pour améliorer ces performances pour une application donnée.

wrapper.java.maxmemory.percent

Compatibilité :3.3.0
Éditions :Édition ProfessionnelleÉdition StandardÉdition Community (non prise en charge)
Plateformes :WindowsMac OSXLinuxAlpine LinuxFreeBSDSolarisIBM z/Linux

Il est parfois nécessaire de définir les seuils de mémoire relativement à la quantité de mémoire physique disponible sur le système. Cette propriété accepte une valeur de pourcentage comprise entre 1 et 100 qui sera convertie en une taille en Mo.

Pour les versions 32 bits du Wrapper, la valeur sera calculée sur la base du minimum entre la mémoire physique et 2048 Mo.

Exemple : (60 %)
wrapper.java.maxmemory.percent=60

Dans l'exemple ci-dessus (60 %), si 1 Go (1024 Mo) de mémoire est installé sur le système, la mémoire maximale sera définie à 614 Mo (=1024 x 60 %).

Sur les versions 32 bits du Wrapper, si la machine dispose de 4 Go de mémoire, alors la mémoire initiale sera de 1228 Mo (= 2048 x 60 %).

NOTE

Java se comporte très mal si une partie de la mémoire de la JVM est swappée, il est donc important de prendre en compte les besoins du système d'exploitation et de toute autre application lors du choix d'un niveau de mémoire sûr.

NOTE

Depuis la version 3.5.29, il est également possible d'utiliser la variable dynamique « WRAPPER_SYSMEM_<P> » où <P> désigne le pourcentage de la mémoire physique disponible sur le système.

Exemple : (60 %)
wrapper.java.additional.1=-Xmx%WRAPPER_SYSMEM_60.0%

Pour plus de détails, veuillez consulter la page Variables d'environnement.

Référence : Mémoire Java

Référence : Paramètres