Considérant la ligne de commande suivante
java -Xms128m -Xms256m myapp.jar
Quels paramètres s'appliqueront à la mémoire JVM Minimum (optionXms
) : 128m ou 256m ?
Considérant la ligne de commande suivante
java -Xms128m -Xms256m myapp.jar
Quels paramètres s'appliqueront à la mémoire JVM Minimum (optionXms
) : 128m ou 256m ?
Comme toujours, vérifiez l'implémentation spécifique de votre JVM local, mais voici un moyen rapide de vérifier à partir de la ligne de commande sans avoir à coder.
> java -version; java -Xmx1G -XX:+PrintFlagsFinal -Xmx2G 2>/dev/null | grep MaxHeapSize
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
uintx MaxHeapSize := 2147483648 {product}
Donc, vous verrez dans ce cas, la deuxième instance de l'argument (2G) est ce qui a priorité (au moins en 1.8) et c'est ce que j'ai vécu avec la plupart des autres versions modernes.
Ça dépend de la JVM, peut-être de la version...peut-être même du nombre de trombones que vous avez sur votre bureau à ce moment-là. Ça ne marchera peut-être même pas. Ne fais pas ça.
Si c'est hors de votre contrôle pour une raison quelconque, compilez et exécutez ceci de la même manière que vous exécuteriez votre bocal. Mais attention, s'appuyer sur l'ordre des options est une très mauvaise idée.
public class TotalMemory
{
public static void main(String[] args)
{
System.out.println("Total Memory: "+Runtime.getRuntime().totalMemory());
System.out.println("Free Memory: "+Runtime.getRuntime().freeMemory());
}
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.