comment configurer JAVA OPTS pour Tomcat dans Windows?
je suis en train de définir JAVA_OPTS
pour Tomcat sur une machine Windows, mais je continue à avoir une erreur si j'ajoute plus d'une variable.
Par exemple, ceci fonctionne:
set JAVA_OPTS="-Xms512M"
Mais cela ne fonctionne pas:
set JAVA_OPTS="-Xms512M -Xmx1024M"
Il entraîne l'erreur:
Invalid initial heap size: -Xms512M -Xmx1024M
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
C'est comme si je pouvez définir une variable (-Xmx fonctionnera aussi), mais pas plusieurs.
j'utilise les instructions setenv.bat
fichier et mon Tomcat est 7.0.35.
7 réponses
Apparemment, la forme correcte est sans l' ""
Comme suit:
set JAVA_OPTS=-Xms512M -Xmx1024M
Pour Windows, dans le cas où la valeur de la variable a de l'espace (" " ), la bonne façon est en fait de placer des guillemets (") avant le nom de la variable comme:
set "JAVA_OPTS=-Xms512M -Xmx1024M"
j'ai comme une combinaison de Gaurav et user2550946 la réponse de mieux, mais voudrais ajouter deux autres aspects:
Ne pas utiliser
JAVA_OPTS
, au lieu d'utiliserCATALINA_OPTS
. Ceci sera utilisé uniquement pour démarrer tomcat, et non pour l'arrêter. Typiquement, vous voulez plus de mémoire au démarrage de tomcat, mais le processus d'arrêt (qui tourne juste en haut, dit à tomcat de s'arrêter et puis se termine à nouveau) n'a pas besoin de ressources spécifiquement ajustées. En fait, l'arrêt peut encore échouer si certains une quantité ridicule de mémoire n'est plus disponible à partir de L'OS.sur les systèmes de production, ma recombinaison est de réclamer immédiatement la mémoire maximale autorisée. Parce que si vous prévoyez que la mémoire sera nécessaire tôt ou tard, vous ne voulez pas découvrir qu'elle n'est pas disponible à 3 heures du matin dans la nuit - plutôt quand vous démarrez le serveur. Ainsi, set
-Xmx
et-Xms
valeur dans les systèmes de production. (Cela rend mon aspect 1 égal plus pertinent)
Ou, dans une ligne, voici ma recommandation:
set "CATALINA_OPTS=%CATALINA_OPTS% -Xms1024M -Xmx1024M"
il est recommandé de créer un fichier nommé setenv.chauve-souris et le placer dans le répertoire bin de Tomcat. Avec ce fichier (qui est dirigé par le catalina.bat et catalina.sh scripts), vous pouvez modifier les paramètres D'environnement Tomcat suivants avec la variable JAVA_OPTS:
vous pouvez définir la taille minimale et maximale du tas de mémoire avec le
paramètres JVM-Xms et-Xmx.
les meilleures limites dépendent de nombreuses conditions, telles que: les transformations que L'intégrateur ETL devrait exécuter. Pour les transformations de découverte D'Information, un maximum de 1 Go est recommandé. Par exemple, pour définir la taille minimale du tas à 128 Mo et la taille maximale du tas à 1024 Mo, utilisez
JAVA_OPTS=-Xms128m -Xmx1024m
vous devez définir la limite maximale de L'espace mémoire PermGen (Permanent Generation) à une taille plus grande que la valeur par défaut. La valeur par défaut de 64 Mo n'est pas suffisante pour les applications d'entreprise. Une limite de mémoire appropriée dépend de divers critères, mais 256 MB ferait un bon choix dans la plupart des cas. Si le maximum D'espace PermGen est trop bas, des erreurs D'espace OutOfMemoryError: PermGen peuvent se produire. Vous pouvez définir la limite maximale de PermGen avec le paramètre JVM suivant
-XX:MaxPermSize=256m
pour des raisons de performance, il est recommandé que l'application soit exécutée en mode serveur. Apache Tomcat ne s'exécute pas en mode serveur par défaut. Vous pouvez définir le mode serveur en utilisant le paramètre JVM-server. Vous pouvez définir le paramètre JVM dans la variable JAVA_OPTS variable d'environnement dans le fichier setenv.
The following is an example of a setenv.bat file:
set "JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx1024m -XX:MaxPermSize=256m -server"
c'est parce que, la quantité de mémoire que vous souhaitez assigner pour JVM n'est pas disponible ou peut être que vous assignez plus de mémoire disponible. Essayez la petite taille, puis vous pouvez voir la différence.
À essayer:
set JAVA_OPTS=-Xms128m -Xmx512m -XX:PermSize=128m
SET JAVA_HOME=C:\Applications\java\java_8
SET PATH=%PATH%;C:\Applications\java\java_8\bin
SET JAVA_OPTIONS=-d64 -Xms128g -Xmx128g