Je travaille sur un serveur Windows 2003 (64 bits) avec 8 Go de RAM. Comment puis-je augmenter la mémoire maximale du tas? J'utilise le -Xmx1500m
drapeau pour augmenter la taille du tas à 1500 Mo. Puis-je augmenter la mémoire du tas à 75% de la mémoire physique (6 Go de tas)?
java
heap-memory
Sunil
la source
la source
-Xmx6g
? Cela n'a-t-il pas fonctionné? Qu'avez-vous observé?Réponses:
Vous pouvez augmenter jusqu'à 4 Go sur un système 32 bits. Si vous utilisez un système 64 bits, vous pouvez aller plus haut. Pas besoin de s'inquiéter si vous avez mal choisi, si vous demandez 5g sur un système 32 bits, java se plaindra d'une valeur invalide et quittera.
Comme d'autres l'ont posté, utilisez les drapeaux de ligne cmd - par exemple
Vous pouvez obtenir une liste complète (ou une liste presque complète, de toute façon) en tapant java -X.
la source
Il est possible d'augmenter la taille de segment de mémoire allouée par la JVM en utilisant les options de ligne de commande Nous avons ici 3 options
Dans la ligne ci-dessus, nous pouvons définir le segment minimum à 16 Mo et le segment maximum 64 Mo
la source
Sur une machine virtuelle Java 32 bits, la plus grande taille de tas que vous pouvez théoriquement définir est de 4 Go. Pour utiliser une taille de segment plus grande, vous devez utiliser une machine virtuelle Java 64 bits. Essayez ce qui suit:
L'indicateur -d64 est important car il indique à la JVM de s'exécuter en mode 64 bits.
la source
Il est possible d'augmenter la taille de segment de mémoire allouée par la machine virtuelle Java dans eclipse directement Dans eclipse IDE goto
Exécuter ----> Exécuter les configurations ----> Arguments
Entrez -Xmx1g (Il est utilisé pour définir la taille maximale comme Xmx256m ou Xmx1g ...... m -> mb g ---> gb)
la source
java -d64 -Xms512m -Xmx4g HelloWorld
où, -d64: active la JVM 64 bits -Xms512m: définit la taille de segment initiale à 512 Mo -Xmx4g: définit la taille maximale de segment à 4 Go (ici le nom du fichier java est: HelloWorld.java)
la source
Vous pouvez augmenter la taille du tas en passant les paramètres JVM -Xms et -Xmx comme ci-dessous:
Pour les fichiers Jar:
Pour les fichiers Java:
Les paramètres ci-dessus augmentent le InitialHeapSize (-Xms) à 4 Go (4096 Mo) et MaxHeapSize (-Xmx) à 6 Go (6144 Mo).
Mais, la taille de segment de mémoire de la jeune génération restera la même et la taille de segment de mémoire supplémentaire sera ajoutée à la taille de segment de mémoire de l' ancienne génération . Pour égaliser la taille du segment de mémoire de la jeune génération et du segment de mémoire de la vieille génération , utilisez -XX: NewRatio = 1 -XX: -UseAdaptiveSizePolicy params.
-XX: NewRatio = Old Gen Heap Size: Young Gen HeapSize (Vous pouvez jouer avec ce ratio pour obtenir le ratio souhaité).
la source
Oui, vous pouvez. En fait, si vous le souhaitez, vous pouvez augmenter jusqu'à plus que la quantité de mémoire physique.
Que ce soit une bonne idée de le faire dépend de la quantité d’activités exécutées sur votre système. En particulier, si le "jeu de travail" des applications et services en cours d'exécution dépasse considérablement la mémoire physique disponible, votre système est susceptible de "se vider", passant beaucoup de temps à déplacer des pages de mémoire virtuelle vers et depuis le disque. L'effet net est que le système devient horriblement lent.
la source
Veuillez utiliser la commande ci-dessous pour changer la taille du tas à 6 Go
la source
Plusieurs personnes ont souligné les réponses spécifiques à 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 le jvm. Plus précisément, si vous obtenez des empilements de pile, vous souhaiterez 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
seraient une solution.Je partage ces informations car mes recherches Google sur la façon d'augmenter la mémoire jvm m'ont amené à cette solution, et les solutions ne fonctionnaient pas avec des quantités élevées d'allocation de mémoire. Une fois que j'ai compris à quoi servaient les paramètres spécifiques, j'ai pu sur Google comment augmenter la taille de la pile et j'ai trouvé le paramètre manquant. :) J'espère que cela fait gagner du temps aux autres, comme cela m'aurait fait gagner une tonne de temps. :)
la source
Cela ne fonctionne qu'avec la version 64 bits de Java. Accédez au Panneau de configuration et cliquez sur l'icône Java. Dans la petite fenêtre du panneau de configuration Java, cliquez sur la barre de menus Java, puis sur le
view
bouton.Si vous avez deux plates-formes Java, désactivez la version précédente de Java, puis cliquez sur le champ de texte Paramètres d'exécution et écrivez
-Xmx1024m
ou moins que la taille de la RAM. N'augmentez pas la taille du tas égale à la RAM sinon votre système va planter.la source
Oui. Vous pouvez.
Vous pouvez augmenter votre mémoire en tas à 75% de la mémoire physique (6 Go de tas) ou plus.
Étant donné que vous utilisez 64 bits, vous pouvez augmenter la taille de votre tas à la quantité souhaitée. Dans le cas où vous utilisez 32 bits, il est limité à 4 Go.
Vous définit avec une taille de tas initiale de 512 Mo et une taille de tas maximale de 6 Go.
J'espère que ça aide.. :)
la source
J'ai un problème lors de l'exécution des fichiers py dans mon code java à l'aide d'eclipse / STS, obtenant PyException en raison d'une mémoire de tas jvm insuffisante. J'ai effectué les modifications comme mentionné ci-dessous et je suis en mesure de résoudre ce problème. Voici ma configuration système.
Et ce sont les changements que j'ai faits dans mon espace de travail et le tour est joué maintenant.
la source