62 votes

Quelle est la taille de segment maximale par défaut pour la JVM Sun de Java SE 6 de Sun?

Quelle est la valeur maximale par défaut taille de segment de mémoire pour Sun JVM de Java SE 6 (c'est à dire l'équivalent de réglage -Xmx)?

Ressemble pour Java SE 5 avec un ordinateur serveur, c'est

Les petits de 1/4ème de la mémoire physique ou de 1 GO.

Question Bonus: Ressemble à la JVM d'IBM, vous pouvez lui demander

java -verbose:sizes -version

Vous pouvez même demander de Sun JVM?

Edit:

J'ai utilisé de l'Exécution.getRuntime().maxMemory pour confirmer min(mémoire physique/4, 1G), référencé dans la documentation de Sun.

111voto

qmc Points 1

java 1.6.0_21 ou version ultérieure, ou alors ...

 $ java -XX:+PrintFlagsFinal -version 2>&1 | grep MaxHeapSize
uintx MaxHeapSize                         := 12660904960      {product}
 

Il semble que le min (1G) ait été supprimé.

Ou sous Windows avec findstr

 C:\>java -XX:+PrintFlagsFinal -version 2>&1 | findstr MaxHeapSize
 

15voto

dfrankow Points 2983

On peut demander avec du code Java:

 long maxBytes = Runtime.getRuntime().maxMemory();
System.out.println("Max memory: " + maxBytes / 1024 / 1024 + "M");
 

Voir javadoc .

14voto

user1754962 Points 1

Avec JDK, vous pouvez également utiliser jinfo pour vous connecter à la machine virtuelle Java et obtenir la valeur de MaxHeapSize:

 jinfo -flag MaxHeapSize
 

8voto

Jabir Points 1284

Comme de JDK6U18 suivants sont des configurations pour la Taille du Tas.

Dans le Client de la JVM, Java par défaut tas de configuration a été modifiée pour améliorer la performance d'aujourd'hui est riche client des applications. Initiale et maximale du tas tailles sont plus grandes et les paramètres de liés à des générations de collecte des ordures sont mieux à l'écoute.

La valeur par défaut taille maximale du tas est la moitié de la mémoire physique jusqu'à une taille de la mémoire physique de 192 mo et sinon, un quart de la mémoire physique jusqu'à une taille de la mémoire physique de 1 gigaoctet. Par exemple, si votre machine dispose de 128 mo de mémoire physique, la taille maximale du tas est de 64 mégaoctets, et supérieure ou égale à 1 gigaoctet de mémoire physique résultats d'une taille maximale du tas de 256 méga-octets. La taille maximale du tas n'est pas réellement utilisé par la JVM, à moins que votre programme crée assez d'objets à l'exiger. Un montant beaucoup plus faible, appelé l'initiale de la taille du segment, est alloué lors de la JVM de l'initialisation. Ce montant est d'au moins 8 mo et sinon 1/64 de physique la mémoire jusqu'à une taille de la mémoire physique de 1 gigaoctet.

Source : http://www.oracle.com/technetwork/java/javase/6u18-142093.html

5voto

Inv3r53 Points 2071

L’un des moyens consiste à installer un jdk. Dans le dossier bin, il existe un utilitaire appelé jconsole (même visualvm peut être utilisé). Lancez-le et connectez-vous au processus Java correspondant pour voir quels sont les paramètres de taille de tas et de nombreux autres détails.

JConsole peut être utilisé sur lan si vous spécifiez un port sur lequel vous souhaitez vous connecter lors du démarrage du service en question.

Prograide.com

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.

Powered by:

X