Comment modifier les paramètres d'exécution Java?


16

Sous Windows, je pouvais changer la quantité de RAM que Java pouvait utiliser en tapant quelque chose comme -Xincgc -Xmx2048M dans les paramètres d'exécution Java. Comment puis-je faire cela dans Ubuntu?

Réponses:


6

Si je ne me trompe pas, ce sont les mêmes sous Linux. Avec la commande Java, vous avez 2 options:

  • Xmx définit la taille maximale du segment de mémoire.
  • Xms définit la taille minimale du segment de mémoire.

Cela -Xmx1024m -Xms128mdevrait donc fonctionner.

Voici un extrait de faire un man javadans le terminal

-Xmsn
                Specify the initial size, in bytes, of the memory allocation
                pool. This value must be a multiple of 1024 greater than 1MB.
                Append the letter k or K to indicate kilobytes, or m or M to
                indicate megabytes. The default value is chosen at runtime
                based on system configuration. For more information, see
                HotSpot Ergonomics
                Examples:

                       -Xms6291456
                       -Xms6144k
                       -Xms6m

 -Xmxn
                Specify the maximum size, in bytes, of the memory allocation
                pool. This value must a multiple of 1024 greater than 2MB.
                Append the letter k or K to indicate kilobytes, or m or M to
                indicate megabytes. The default value is chosen at runtime
                based on system configuration. For more information, see
                HotSpot Ergonomics
                Examples:

                       -Xmx83886080
                       -Xmx81920k
                       -Xmx80m

Donc, cela résume essentiellement les doutes en utilisant les mêmes paramètres.

Pour l'utiliser, accédez à un terminal et saisissez-le avec un programme jar. Dans mon exemple , je suis en utilisant le serveur minecraft: java -Xms1024M -Xmx2048M -jar minecraft.jar.

Voici une image de ce qui se passe:

entrez la description de l'image ici

Je dois noter que les paramètres sont sensibles à la casse . Donc, xmx1024M n'est pas identique à Xmx1024M.


Eh bien, je n'ai pas demandé quels paramètres utiliser. J'ai demandé où je devrais taper les paramètres. Si je tape -Xmx1204m -Xms128m, cela dit commande inconnue.
Andri

D'après votre question, il semblait que vous saviez déjà où les taper puisque vous les utilisiez déjà. Pardon. J'ai mis à jour la réponse pour inclure une image de la sortie de la commande et la ligne de commande complète pour java et paramètres. Tout est tapé depuis le terminal.
Luis Alvarado

10

La même chose s'applique à Linux. Si vous souhaitez rendre les options permanentes, vous pouvez exporter la JAVA_OPTSvariable d'environnement.

Je recommande de le faire sur une base par utilisateur. Modifiez le .profilefichier dans votre répertoire personnel (ou .bash_profiles'il existe et que vous utilisez bash) pour inclure cette ligne:

export JAVA_OPTS='-Xincgc -Xmx2048M'

Après avoir défini cela, vous devez redémarrer les sessions shell pour qu'il s'applique.

Alternativement, vous pouvez également modifier le profil à l'échelle du système dans / etc / profile.

Modifier: les paramètres du plug-in de navigateur Java sont définis dans le panneau de configuration Java: http://docs.oracle.com/javase/1.4.2/docs/guide/plugin/developer_guide/control_panel.html .


Comment la même chose s'applique-t-elle à Linux? Je ne peux pas accéder au Panneau de configuration, ouvrir Java et modifier les paramètres. Que fais-je?
Andri

1
Si je ne me trompe pas, ce panneau de contrôle s'applique uniquement au plug-in Java pour le navigateur. Si c'est ce que vous recherchez, il se trouve dans / jre / bin / ControlPanel ( docs.oracle.com/javase/1.4.2/docs/guide/plugin/developer_guide/… )
jjmontes

Ce n'est pas ce que je voulais dire. Tout ce que je dois savoir, c'est comment je pourrais faire en sorte que Java puisse utiliser plus de RAM qu'aujourd'hui.
Andri
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.