web-dev-qa-db-fra.com

Changer le tas de mémoire maximum pour Java sous Mac OS X

J'essaie de modifier la taille de mémoire maximale "heap" pour Java sous Mac OS X. J'ai lu plusieurs endroits pour modifier "-XX: MaxPermSize", mais je ne trouve pas le fichier et je ne sais pas où le modifier. réglage.

10
user1435853

vous pouvez définir la mémoire disponible pour Java VM à l'aide de ces paramètres:

-Xms64m -Xmx200m

-Xms spécifie la mémoire minimale; -Xmx le maximum.

Vous devez les spécifier lorsque vous exécutez votre application. Par exemple, si vous avez un jar nommé app.jar, vous pouvez l’exécuter en tapant

Java -Xms64m -Xmx512m -jar app.jar

Je pense que sur une machine 32 bits, vous ne pouvez pas donner plus de 1 Go à la JVM.

12
smellyarmpits

J'utilisais la WEKA et j'ai eu le même problème. Ici, j'ai trouvé la solution et c'était facile.

Allez à Application ==> Cliquez avec le bouton gauche de la souris sur une application spécifique (comme Weka) ==> Afficher le contenu du package ==> Contenu ==> Info.Plist ==> Java ==> VMOptions = => augmentez la taille de la mémoire comme vous le souhaitez (dans mon Mac, la valeur par défaut était de 1 Go, j’ai augmenté à 6 Go)

8
Prem

La taille maximale du tas est définie à l'aide du commutateur -Xmx.

-XX: MaxPermSize est utilisé pour spécifier la taille maximale de la génération permanente qui est un sous-ensemble du tas total.

2
Suraj Chandran

J'essayais d'exécuter un programme Java avec un très grand tableau dans le terminal. Il manquait toujours de mémoire, mais j'ai résolu le problème en augmentant la quantité de mémoire autorisée par thread:

$ Java -Xss12G name

Ici, le -Xss12G indique au moteur d'exécution Java d'allouer 12 Go par thread, puis d'exécuter name. De même, -Xss4G utilise 4 Go par thread. Le $ est l'invite de la console Terminal et aura probablement le dossier et votre nom.

En écrivant la commande Java -X dans le terminal, vous obtiendrez plus de détails sur l’allocation de mémoire de tas et de thread:

$ Java -X
1
Hannes Sverrisson

Si vous lancez l'application depuis Terminal, vous devez fournir les arguments sur la ligne de commande:

Java -XX:MaxPermSize=128m ...

C'est la même chose que sur n'importe quelle autre plateforme.

Si vous devez définir ceci pour un ensemble d'applications (c'est-à-dire une application Java ressemblant à une application Mac classique double-cliquable), vous devez modifier le fichier info.plist, situé à l'intérieur de l'ensemble et qui n'est pas normalement installé. visible. 

Cette page contient des instructions sur la procédure à suivre pour IntelliJ, mais est également applicable à d'autres applications Java pour Mac intégrées.

1
Jimothy