Ich habe Tomcat 9 als Dienst unter Windows 7 64 Bit installiert. Ich mag:Wie ändere ich die Java-Heap-Größe für Tomcat 9, das als Windows-Dienst über die Befehlszeile installiert wurde?
- sehen, welche Speichergröße ist so eingestellt und aktiv
- Update die Service-Konfiguration beharrlich eine andere Heap-Größe verwenden
- überprüfen, ob Tomcat tatsächlich die neue Speichergröße verwenden.
- tun Sie das alles über die Befehlszeile.
Für 1 und 3: Ich naiv versuchte jconsole zu verwenden, aber ich weiß nicht, den Prozess dort finden, weil Tomcat als lokalen Systemdienst ausgeführt wird. Während ich herausgefunden habe, wie man jconsole als lokales Systemkonto ausführt, scheint JMX deaktiviert zu sein, wenn Tomcat als Dienst installiert wird.
So herauszufinden, die derzeit verwendeten Speichergrößen von JMX scheint zumindest sehr kompliziert zu sein (möglicherweise JMX remote aktivieren, die über TLS sein sollte ...).
für 2: Ich nehme an this die entsprechende Stelle der Tomcat-Dokumentation ist, der wie folgt lautet:
To update the service parameters, you need to use the //US// parameter.
Update the service named 'Tomcat9'
C:\> tomcat9 //US//Tomcat9 --Description="Apache Tomcat Server - http://tomcat.apache.org/ "^
--Startup=auto --Classpath=%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\bin\bootstrap.jar
Aber ich verstehe nicht, dass Text ausreichend es für mein Problem anzuwenden. Insbesondere möchte ich andere Parameter (wie Beschreibung, Startup usw.) nicht ändern.
Soweit ich weiß, wird die Konfiguration bei der Ausführung als Dienst in der Windows-Registrierung gespeichert, so dass die übliche Konfiguration in tomcat/conf nicht oder nur teilweise zutrifft.
Bitte beachten Sie, dass es sich bei dieser Frage nicht um die Installation von Tomcat handelt, sondern um die Änderung einer bestehenden Installation. Ich bin auch nicht an einem hacky Weg interessiert, um das gewünschte Ergebnis (irgendwie) zu bekommen, aber in der besten Praxis, das zu tun; und es wäre perfekt, Links zu Referenzdokumentationen dafür zu haben.
Natürlich ist es ein JVM-Parameter, aber die Konfiguration dieses Parameters gehört zur Konfiguration des Tomcat9-Windows-Dienstes. Und wie ich bereits in der Frage gesagt habe, scheint es, dass die üblichen Batch-Dateien nicht (oder zumindest anders) verwendet werden. Wenn Sie den Abschnitt über dem zitierten Abschnitt lesen, werden Sie feststellen, dass die anfängliche Konfiguration auch nicht durch Ändern von Stapeldateien erfolgt. – Gustave
Gibt es Feedback zu dem Werkzeug, mit dem ich Sie verlinkt habe? – GhostCat
Wahrscheinlich wird es unter den beschriebenen Zugriffsproblemen leiden. Von seiner Github-Seite: "Überwachen Sie alle zugänglichen, laufenden jvms auf einer Maschine". (zugänglich!). Ich werde zuerst https://blogs.oracle.com/nbprofiler/monitoring-java-processes-running-as-a-windows-service versuchen. Dafür habe ich im Moment keine Zeit mehr. – Gustave