web-dev-qa-db-fra.com

Comment augmenter la mémoire sur Tomcat 7 lors de l'exécution en tant que service Windows?

J'essaie d'exécuter Tomcat 7 en tant que service Windows (XP et Windows 7).

Je vois des endroits pour définir les arguments jvm -Xmx et -Xms dans catalina.bat, mais je ne sais pas comment le faire lors de l'utilisation de $ CATALINA_HOME/bin/service.bat install service-name. J'ai regardé autour de moi, mais le mieux que j'ai pu trouver était que j'avais besoin de mettre à jour la clé de registre Windows, bien que je ne sois pas sûr lequel modifier.

J'espère qu'il existe un moyen plus simple, n'est-ce pas?

Mise à jour: je n'utilise pas le programme d'installation de Windows principalement parce que j'exécute plusieurs instances de Tomcat sur la même machine mais avec des ports différents (pour des raisons que je préfère ne pas utiliser ici). Si je peux utiliser le programme d'installation avec plusieurs instances en utilisant différents ports, alors j'aimerais savoir comment, mais peu importe, est-il possible d'augmenter la mémoire sur un service Windows Tomcat sans les outils d'interface utilisateur fournis avec le programme d'installation?

34
Franky

En supposant que vous avez téléchargé et installé Tomcat en tant que fichier d'installation du service Windows exe à partir de la page d'accueil Tomcat , puis vérifiez la plume Apache dans la barre d'état système (ou en cas d'absence, exécutez Monitor Tomcat dans le menu Démarrer). Double-cliquez sur l'icône de la plume et accédez à l'onglet Java . Là, vous pouvez configurer la mémoire.

enter image description here

Redémarrez le service pour que les modifications prennent effet.

51
BalusC

La réponse à ma propre question est, je pense, d'utiliser Tomcat7.exe:

cd $CATALINA_HOME
.\bin\service.bat install Tomcat
.\bin\Tomcat7.exe //US//Tomcat7 --JvmMs=512 --JvmMx=1024 --JvmSs=1024

Vous pouvez également lancer l'outil d'interface utilisateur mentionné par BalusC sans la barre d'état système ou en utilisant le programme d'installation avec Tomcat7w.exe

.\bin\Tomcat7w.exe //ES//Tomcat

ne note supplémentaire à cela:

La définition des paramètres --JvmXX (via l'outil d'interface utilisateur ou la ligne de commande) peut ne pas être suffisante. Vous devrez peut-être également spécifier explicitement les valeurs de la mémoire JVM. À partir de la ligne de commande, cela peut ressembler à ceci:

bin\Tomcat7w.exe //US//Tomcat7 --JavaOptions=-Xmx=1024;-Xms=512;..

Veillez à ne pas remplacer les autres valeurs JavaOption. Vous pouvez essayer de mettre à jour bin\service.bat ou utiliser l'outil d'interface utilisateur et ajouter les options Java (séparez chaque valeur par une nouvelle ligne).

17
Franky

//ES/Tomcat -> Cela peut ne pas fonctionner si vous avez modifié le nom du service lors de l'installation.

Exécutez la commande sans aucun nom de service

.\bin\Tomcat7w.exe //ES

ou avec un nom de service exact

.\bin\Tomcat7w.exe //ES/YourServiceName
6
bkumar

Selon catalina.sh, les personnalisations doivent toujours aller dans votre propre setenv.sh (ou setenv.bat respectivement), par exemple:

CATALINA_OPTS='-Xms512m -Xmx1024m'

Je suppose que setenv.bat sera également appelé lors du démarrage d'un service, mais je peux me tromper, car je ne suis pas un utilisateur Windows.

6
johanneslink

Si vous exécutez un service nommé personnalisé, vous devriez voir deux exécutables dans votre répertoire Tomcat/bin
Dans mon cas avec Tomcat 8

08/14/2019  10:24 PM           116,648 Tomcat-Custom.exe
08/14/2019  10:24 PM           119,720 Tomcat-Customw.exe
               2 File(s)        236,368 bytes

L'exécution de l'exécutable terminé "w" vous permettra de configurer Xmx dans l'onglet Java
enter image description here

0
MonoThreaded

Pour que Tomcat 7 augmente la mémoire:

Identifiez votre nom de service, vous le trouverez dans les propriétés du service, sous le "Chemin d'accès à l'exécutable" en fin de ligne

Pour moi, c'est // RS // Tomcat7 donc le nom est Tomcat70

Puis écrivez en tant qu'administrateur:

Tomcat7.exe //US//Tomcat70 --JvmOptions=-Xmx1024M
0
jpprade