Question

Je travaille sur un serveur Windows 2003 (64 bits) avec 8 Go de RAM. Comment puis-je augmenter le maximum de mémoire de tas? J'utilise le drapeau -Xmx1500m pour augmenter la taille du tas à 1500 Mb. Puis-je augmenter la mémoire de tas à 75% de la mémoire physique (6 Go Heap)?

Était-ce utile?

La solution

Vous pouvez passer à 4 Go sur un système 32 bits. Si vous êtes sur un système 64 bits, vous pouvez aller plus haut. Pas besoin de vous inquiéter si vous avez mal choisi, si vous demandez sur un java 5 g de système 32 bits se plaindra d'une valeur non valide et quitter.

Comme d'autres l'ont, utilisez les drapeaux cmd ligne - par exemple

java -Xmx6g myprogram

Vous pouvez obtenir une liste complète (ou une liste presque plein, de toute façon) en tapant -X java.

Autres conseils

Il est possible d'augmenter la taille du tas alloué par la machine virtuelle Java en utilisant les options de ligne de commande Ici, nous avons 3 options

-Xms<size>        set initial Java heap size
-Xmx<size>        set maximum Java heap size
-Xss<size>        set java thread stack size

java -Xms16m -Xmx64m ClassName

Dans la ligne ci-dessus, nous pouvons mettre en tas minimum 16Mo et 64Mo de tas maximale

Sur une machine virtuelle Java 32 bits, la plus grande taille du tas, vous pouvez définir théoriquement est 4gb. Pour utiliser une plus grande taille du tas, vous devez utiliser une machine virtuelle Java 64 bits. Effectuez les opérations suivantes:

  

java -Xmx6144M -d64

Le drapeau -d64 est important car cela indique la machine virtuelle Java pour fonctionner en mode 64 bits.

Il est possible d'augmenter la taille du tas alloué par la machine virtuelle Java dans Eclipse directement Dans Eclipse IDE goto

Run ----> ----> Run Configurations Arguments

Entrez -Xmx1g (Il est utilisé pour définir la taille maximum comme Xmx256m ou Xmx1g ...... m -> mb g ---> gb)

java -d64 -Xms512m -Xmx4g HelloWorld

où, -d64: Permettra JVM 64 bits -Xms512m: Mettra taille du tas initiale de 512 Mo -Xmx4g: Mettra taille de tas maximale de 4 Go (Ici le nom du fichier java est: HelloWorld.java)

  

Puis-je augmenter la mémoire de tas à 75%   de la mémoire physique (6FR Heap).

Oui, vous pouvez. En fait, vous pouvez augmenter à plus de la quantité de mémoire physique, si vous voulez.

Que ce soit une bonne idée de faire cela dépend de combien d'autre est en cours d'exécution sur votre système. En particulier, si le « jeu de travail » des applications et des services qui sont en cours d'exécution dépasse largement la mémoire physique disponible, votre système est susceptible de « thrash », passer beaucoup de temps à déplacer les pages de mémoire virtuelle vers et à partir du disque. L'effet net est que le système est horriblement lent.

Vous pouvez augmenter les paramètres JVM Taille en passant Heap -Xms et -Xmx comme ci-dessous:

Pour Jar Fichiers:

java -jar -Xms4096M -Xmx6144M jarFilePath.jar

Pour Java Fichiers:

 java -Xms4096M -Xmx6144M ClassName

Les paramètres ci-dessus augmentent le InitialHeapSize (-Xms) 4 Go (4096 Mo) et MaxHeapSize (-Xmx) 6 Go (6144 Mo).

Mais, Jeune génération Taille Heap restera même et le HeapSize supplémentaire sera ajouté à la ancienne génération Taille Heap. égaliser la taille des jeunes Gen Heap et Old Gen Heap , utilisez -XX: NewRatio = 1 -XX:. -UseAdaptiveSizePolicy params

java -jar -Xms4096M -Xmx6144M -XX:NewRatio=1 -XX:-UseAdaptiveSizePolicy pathToJarFile.jar

-XX: NewRatio = Old Gen Tas Taille:. Jeune Gen HeapSize (Vous pouvez jouer avec ce rapport pour obtenir votre rapport désiré)

S'il vous plaît utiliser ci-dessous commande pour changer la taille du tas 6Go

export JAVA_OPTS="-Xms6144m -Xmx6144m -XX:NewSize=256m -XX:MaxNewSize=356m -XX:PermSize=256m -XX:MaxPermSize=356m"

Cela ne fonctionne qu'avec la version 64 bits de Java. Allez dans le Panneau de configuration et cliquez sur l'icône Java. Sur la petite fenêtre de Java Panneau de configuration, cliquez sur la barre de menu Java puis cliquez sur le bouton view.

Si vous avez deux plates-formes Java, désactivez la version précédente de Java, puis cliquez sur Paramètres d'exécution champ de texte et d'écrire -Xmx1024m ou moins de la taille de la RAM. Ne pas augmenter la taille du tas égale à la RAM, sinon votre système se bloque.

Plusieurs personnes ont indiqué les réponses spécifiques pour la taille du tas avec les options jvm de -Xms et -Xms. Je tiens à souligner que ce n'est pas le seul type d'options de mémoire pour la JVM. Plus précisément, si vous êtes pile obtenir sur les flux, alors vous aurez envie d'augmenter la taille de la pile en ajoutant une option supplémentaire comme -Xss8m.

Pour ce problème, les options jvm de quelque chose comme -Xms2g -Xmx6g -Xss8m serait une solution.

Je partage ces informations que mon google recherche sur la façon d'augmenter la mémoire de jvm m'a pris à cette solution, et les solutions ne fonctionnent pas avec de grandes quantités d'allocation de mémoire. Une fois que je me suis dit ce que les paramètres spécifiques étaient pour, j'ai pu google comment augmenter la taille de la pile et a trouvé le manque param. :) Espérons que cela fait gagner du temps d'autres, car il m'a sauvé de une tonne de temps. :)

Oui. Vous pouvez.

Vous pouvez augmenter votre segment de mémoire à 75% de la mémoire physique (6 Go Heap) ou plus.

Puisque vous utilisez 64bit, vous pouvez augmenter la taille de votre tas à votre quantité désirée. Si vous utilisez 32bit il est limité à 4 Go.

$ java -Xms512m -Xmx6144m JavaApplication

Définit la taille de tas initiale à 512 Mo et heapsize maximum de 6 Go.

it helps ..:)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top