Verwenden Sie diese Seite, um die JVM-Konfigurationseinstellungen eines Prozesses für einen Anwendungsserver anzuzeigen und zu ändern.
Zum Anzeigen dieser Seite müssen Sie eine Verbindung zur Administrationskonsole herstellen und zur Anzeige "Java Virtual Machine" navigieren.
![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
Für IBM® i
und verteilte Plattformen klicken Sie auf Servername. Klicken Sie anschließend im Abschnitt "Serverinfrastruktur"
auf .
Verwenden Sie für die Plattform z/OS einen der folgenden Pfade:| Information | Wert |
|---|---|
| Anwendungsserver | Klicken Sie auf Servername.Klicken Sie anschließend im Abschnitt "Serverinfrastruktur" auf . |
| Deployment Manager | Klicken Sie auf Systemverwaltung > Deployment Manager. Klicken Sie anschließend im Abschnitt "Serverinfrastruktur" auf . |
| Node Agent | Klicken Sie auf Systemverwaltung > Node Agent > Node_Agent. Klicken Sie anschließend im Abschnitt "Serverinfrastruktur" auf . |
![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
Verwenden Sie für IBM i und
verteilte Plattformen einen der folgenden Pfade:| Information | Wert |
|---|---|
| Anwendungsserver | Klicken Sie auf Servername. Klicken Sie anschließend im Abschnitt "Serverinfrastruktur" auf . |
| Deployment Manager | Klicken Sie auf Systemverwaltung > Deployment Manager. Klicken Sie anschließend im Abschnitt "Serverinfrastruktur" auf . |
| Node Agent | Klicken Sie auf Systemverwaltung > Node Agent > Node_Agent. Klicken Sie anschließend im Abschnitt "Serverinfrastruktur" auf . |
Gibt den Standardklassenpfad an, in dem der JVM-Code Klassen sucht.
Wenn Sie diesem Feld einen Klassenpfad hinzufügen müssen, geben Sie jeden einzelnen Klassenpfadeintrag in einer separaten Tabellenzeile an. Es ist nicht erforderlich, am Ende eines Eintrags einen Doppelpunkt bzw. ein Semikolon hinzuzufügen.
| Information | Wert |
|---|---|
| Datentyp | String |
Gibt die Klassen des Bootprogramms und die Ressourcen für den JVM-Code an. Diese Option ist nur für JVM-Anweisungen verfügbar, die Klassen des Bootprogramms und Ressourcen unterstützen.
Wenn Sie diesem Feld einen Klassenpfad hinzufügen müssen, geben Sie jeden einzelnen Klassenpfadeintrag in einer separaten Tabellenzeile an. Es ist nicht erforderlich, am Ende eines Eintrags einen Doppelpunkt bzw. ein Semikolon hinzuzufügen.
Wenn Sie dem Feld mehrere Klassenpfade hinzufügen müssen, können Sie je nach Betriebssystem, auf dem die JVM ausgeführt wird, einen Doppelpunkt (:) oder ein Semikolon (;) als Trennzeichen für die Klassenpfade verwenden.
Wenn Sie dem Feld mehrere Klassenpfade hinzufügen müssen, können Sie je nach Betriebssystem des Knotens einen Doppelpunkt (:) oder ein Semikolon (;) als Trennzeichen für die Klassenpfade verwenden.
Gibt an, ob ausführliche Debug-Nachrichten zum Laden der Klasse ausgegeben werden. Der Standardwert sieht vor, den ausführlichen Modus für das Klassenladen nicht zu aktivieren.
Wenn der ausführliche Modus für das Klassenladen aktiviert ist,
wird die Debug-Ausgabe an eines der nativen Prozessprotokolle gesendet.
| Information | Wert |
|---|---|
| Datentyp | Boolean |
| Standardeinstellung | false |
Gibt an, ob ausführliche Debug-Nachrichten zur Garbage-Collection ausgegeben werden. Der Standardwert sieht vor, den ausführlichen Modus für die Garbage-Collection nicht zu aktivieren.
Wenn der ausführliche Modus für die Garbage-Collection aktiviert ist,
wird die Debug-Ausgabe an eines der nativen Prozessprotokolle gesendet.
| Information | Wert |
|---|---|
| Datentyp | Boolean |
| Standardeinstellung | false |
Bei Auswahl dieser Option wird bei jeder Ausführung des Garbage-Collectors ein Bericht in den Ausgabedatenstrom geschrieben. Dieser Bericht gibt Ihnen einen Überblick über die Funktionsweise des Java-Garbage-Collection-Prozesses.
83,29/3724,32 * 100 = 2,236 Prozent
Wenn die Garbage-Collection mehr als 5 % der Zeit benötigt und häufig ausgeführt wird, müssen Sie ggf. den Java-Heapspeicher vergrößern.
Um festzustellen, ob der zugeordnete Heapspeicher wächst, sehen Sie sich den Prozentsatz des nicht zugeordneten Heapspeichers nach jedem Garbage-Collection-Zyklus an, und vergewissern Sie sich, dass der Prozentsatz nicht weiter abnimmt. Wenn der Prozentsatz des freien Speicherbereichs weiter abnimmt, steigt die Heapspeichergröße mit jeder Garbage-Collection allmählich an. Diese Situation kann auf Speicherverluste in Ihrer Anwendung hinweisen.
Hinweis zur Umstellung: In Version 7.0 und früheren Versionen wird der Garbage-Collection-Algorithmus
"optthruput" verwendet. In Version
8.0 und höher wird standardmäßig der
Garbage-Collector nach Objektalter verwendet. Dieser Garbage-Collection-Algorithmus kann die Leistung verbessern.
Die folgende JVM-Option wird dem Startbefehl für WebSphere Application Server hinzugefügt: -Xgcpolicy:gencon.
Wenn Sie die Verwendung des Garbage-Collection-Algorithmus "optthruput" bevorzugen, entfernen Sie -Xgcpolicy:gencon und es wird der
Garbage-Collection-Algorithmus "optthruput"
verwendet. trns
Auf der Plattform z/OS können Sie die Informationen zum JVM-Heapspeicher
auch mit dem MVS-Konsolbefehl modify display, jvmheap anzeigen. Zusätzlich können Sie die Datensätze
zur Serveraktivität und die Intervall-SMF-Datensätze überprüfen. Die Größe des Java-Heapspeichers steht auch der PMI
zur Verfügung und kann mit dem
Tivoli Performance Viewer überwacht werden.
Gibt an, ob ausführliche Debugnachrichten zu den Aufrufen nativer Methoden ausgegeben werden. Standardmäßig wird der ausführliche Modus für JNI-Aktivitäten (Java Native Interface) nicht aktiviert.
| Information | Wert |
|---|---|
| Datentyp | Boolean |
| Standardeinstellung | false |
Gibt die Anfangsgröße des Heapspeichers (in MB) an, die dem JVM-Code zur Verfügung steht. Wenn dieses Feld leer bleibt, wird der Standardwert verwendet.
Unter z/OS ist der Standardwert für die Anfangsgröße des Heapspeichers
48 MB für den Controller und 128 MB für den Servant. Diese Standardwerte gelten für
32-Bit- und 64-Bit-Konfigurationen.
![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
Auf IBM i und verteilten Plattformen ist der Standardwert für die
Anfangsgröße des Heapspeichers 50 MB.
Bewährtes Verfahren: Die Standardwerte sind für die meisten Anwendungen ausreichend.bprac
Fehler vermeiden: Auf der Plattform IBM i muss die Anfangsgröße
des Heapspeichers
immer kleiner sein als die maximale Größe des Heapspeichers. Verwenden Sie für die beiden Eigenschaften
nie denselben Wert. gotchaDie Startzeit kann sich verkürzen, wenn Sie den Wert dieser Einstellung erhöhen. Die Anzahl der Garbage-Collection-Durchläufe wird reduziert, wodurch eine Durchsatzsteigerung von 10 % realisiert werden kann.
Im Allgemeinen verbessert sich der Durchsatz durch Vergrößern des Java-Heapspeichers, bis der Heapspeicher zu groß für den physischen Speicher wird. Wenn die Größe des Heapspeichers die Größe des verfügbaren physischen Hauptspeichers überschreitet und Paging stattfindet, nimmt die Leistung merklich ab.
Gibt die maximale Größe des Heapspeichers (in MB) für den JVM-Code an. Wenn dieses Feld leer bleibt, wird der Standardwert verwendet.
Der Standardwert ist 256 MB. Dieser Standardwert gilt für 32-Bit- und 64-Bit-Konfigurationen.
Die Startzeit kann sich verkürzen, wenn Sie die Maximalgröße für den Heapspeicher heraufsetzen. Durch eine Erhöhung der maximalen Größe des Heapspeichers können Sie die Anzahl der Garbage-Collection-Durchläufe reduzieren und damit eine Durchsatzsteigerung von 10 % realisieren.
Im Allgemeinen verbessert sich der Durchsatz durch Vergrößern dieser Einstellung, bis der Heapspeicher zu groß für den physischen Speicher wird. Wenn die Größe des Heapspeichers die Größe des verfügbaren physischen Hauptspeichers überschreitet und Paging stattfindet, nimmt die Leistung merklich ab. Deshalb ist es wichtig, die den Wert für diese Einstellung so zu definieren, dass die physische Speicherkapazität für den Heapspeicher ausreicht.
Um Paging zu verhindern, müssen Sie für diese Eigenschaft einen Wert angeben, der jedem
Prozessor mindestens 256 MB an physischem Hauptspeicher und jedem Anwendungsserver mindestens 512 MB an physischem Hauptspeicher
zugesteht.
Wenn die Prozessorauslastung wegen Pagings gering ist, erhöhen Sie, sofern möglich, den verfügbaren Speicher anstelle der maximalen Größe des Heapspeichers.
Eine Erhöhung der maximalen Größe des Heapspeichers kann zu einem Leistungsabfall
führen.
Bewährtes Verfahren: Die Standardwerte sind für die meisten Anwendungen ausreichend.
Aktivieren Sie die Eigenschaft Ausführliche Garbage-Collection, wenn
Sie der Meinung sind, dass die Garbage-Collection zu häufig durchgeführt wird.
Wenn die Garbage-Collection zu häufig stattfindet, erhöhen Sie die maximale Größe des JVM-Heapspeichers.bprac![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
Gibt an, ob die Unterstützung für den HProf-Profiler aktiviert ist. Wenn Sie einen anderen Profiler verwenden möchten, geben Sie die angepassten Profiler-Einstellungen über die HProf-Parameter ein. Der Standardwert sieht vor, die HProf-Profiler-Unterstützung nicht zu aktivieren.
Wenn Sie die Eigenschaft HProfs ausführen auf true setzen, müssen Sie Befehlszeilenparameter für Profiler als Werte für die Eigenschaft HProf-Parameter angeben.
| Information | Wert |
|---|---|
| Datentyp | Boolean |
| Standardeinstellung | false |
![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
Gibt die Befehlszeilenparameter für Profiler an, die an den JVM-Code, der den Anwendungsserverprozess startet, übergeben werden sollen. Sie können Parameter angeben, wenn die Unterstützung für HProf-Profiler aktiviert ist.
HProf-Parameter sind nur erforderlich, wenn die Eigenschaft "HProfs ausführen" auf true eingestellt ist.
Gibt an, ob die JVM im Debug-Modus ausgeführt werden soll. Standardmäßig wird der Debug-Modus nicht aktiviert.
Wenn Sie die Eigenschaft Debug-Modus auf true setzen, müssen Sie Befehlszeilenparameter für das Debugging als Werte für die Eigenschaft Debug-Parameter angeben.
| Information | Wert |
|---|---|
| Datentyp | Boolean |
| Standardeinstellung | false |
Gibt die Debug-Befehlszeilenparameter an, die an den JVM-Code, der den Anwendungsserverprozess startet, übergeben werden sollen. Sie können Argumente angeben, wenn die Eigenschaft Debug-Modus auf true gesetzt ist.
Wenn Sie das Debugging in mehreren Anwendungsservern auf demselben Knoten aktivieren, müssen Sie sicherstellen, dass für das Argument "Adresse" nicht derselbe Wert angegeben wird. Das Argument "Adresse" definiert den Port, der für das Debugging verwendet wird. Wenn für zwei Server, für die das Debugging aktiviert ist, derselbe Debug-Port konfiguriert ist, werden die Server möglicherweise nicht ordnungsgemäß gestartet. Beide Server könnten beispielsweise noch mit dem Debug-Argument address=7777 konfiguriert sein, dem Standardwert für das Argument "Adresse".
Wenn Sie das Debugging in mehreren Anwendungsservern, müssen Sie sicherstellen, dass für das Argument "Adresse" nicht derselbe Wert angegeben wird. Das Argument "Adresse" definiert den Port, der für das Debugging verwendet wird. Wenn für zwei Server, für die das Debugging aktiviert ist, derselbe Debug-Port konfiguriert ist, werden die Server möglicherweise nicht ordnungsgemäß gestartet. Beide Server könnten beispielsweise noch mit dem Debug-Argument address=7777 konfiguriert sein, dem Standardwert für das Argument "Adresse".
| Information | Wert |
|---|---|
| Datentyp | String |
| Einheiten | Java-Befehlszeilenargumente |
Gibt die Befehlszeilenparameter an, die an den JVM-Code übergeben werden sollen, der den Anwendungsserverprozess startet.
Fehler vermeiden: Wenn das Argument nur für IBM Developer Kit bestimmt ist kann es nicht mit einer JVM eines anderen Anbieters, z. B. einer JVM von
Microsoft oder Hewlett-Packard, verwendet werden.gotcha![[z/OS]](../ngzos.gif)
-DhotRestartSync: Geben Sie -DhotRestartSync an, um das Feature "Hot Restart Sync" des Synchronisationsservice zu aktivieren. Dieses Feature teilt dem Synchronisationsservice mit, dass die Installation in einer Umgebung ausgeführt wird, in der keine Konfigurationsaktualisierungen vorgenommen werden, wenn der Deployment Manager nicht gestartet ist. Deshalb muss der Service keinen vollständigen Repository-Vergleich durchführen, wenn der Deployment-Manager- oder Node-Agent-Server erneut gestartet wird. Wenn Sie dieses Feature aktivieren, verbessert sich die Effizienz der ersten Synchronisationsoperation nach einem Neustart von Deployment Manager oder Node Agent, insbesondere für Installationen, die Zellen mit unterschiedlichen Releases, vielen Knoten und vielen Anwendungen enthalten.
-Dcom.ibm.crypto.provider.doAESInHardware: Setzen Sie diese Option auf true, wenn Sie die Funktion Advanced Encryption Standard (AES), die mit IBM SDK and Runtime Environment for AIX, Java Technology Edition, Version 7 bereitgestellt wird. AES ist eine symmetrische Blockchiffrierung, die Daten über mehrere Runden verschlüsselt und entschlüsselt. Die Aktivierung dieser Funktion führt zu Leistungsverbesserungen in der SSL-Verarbeitung von WebSphere Application Server.
![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
-Xquickstart
Bewährtes Verfahren: Verwenden Sie -Xquickstart für Anwendungen, für die eine frühere angemessene Geschwindigkeit wichtiger ist als
der langfristige Durchsatz. In einigen Debug-Szenarien, Testläufen und
Tools mit kurzen Ausführungszeiten können Sie die Startzeit um 15 bis 20 % verkürzen.bprac
Fehler vermeiden: Dieses Argument wird unter IBM i nicht unterstützt. gotcha![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
-Xverify:none Sie können -Xverify:none verwenden, wenn Sie die Phase mit der Überprüfung der Klassen beim Laden der Klassen überspringen möchten. Mit -Xverify:none wird die Java-Klassenüberprüfung inaktiviert, womit eine Verbesserung bei der Startzeit zwischen 10 und 15 % erreicht werden kann. Es werden jedoch keine beschädigten oder ungültigen Klassendaten gefunden, wenn dieses Argument angegeben ist. Wenn beschädigte Klassendaten geladen werden, kann die Java Virtual Machine (JVM) auf unerwartete Weise reagieren oder sogar ausfallen.
Fehler vermeiden:
Dieses Argument wird unter IBM i nicht unterstützt. ![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
-Xnoclassgc Geben Sie -Xnoclassgc an, um die Garbage-Collection nach Klassen zu inaktivieren. Dieses Argument führt zu einer erhöhten Wiederverwendung von Klassen und einer geringfügig besseren Leistung. Die Ressourcen, deren Eigner diese Klassen sind, werden jedoch weiterhin verwendet, wenn die Klassen nicht aufgerufen werden.
Fehler vermeiden: Der Leistungseinfluss der Garbage-Collection für Klassen ist gewöhnlich minimal, und
die Inaktivierung der Garbage-Collection für Klassen auf einem Java-EE-basierten System (Java Platform,
Enterprise Edition) mit starker Nutzung von Anwendungsklassenladern kann einen Speicherverlust bei den Klassendaten
hervorrufen und dazu führen, dass die JVM eine Ausnahme wegen abnormaler Speicherbedingungen auslöst. gotchaSie können die Konfigurationseinstellung verbose:gc verwenden, wenn Sie die Garbage-Collection überwachen möchten. Anhand der Ausgabe können Sie die Auswirkung der Neuanforderung dieser Ressourcen auf die Leistung bestimmen.
Wenn Sie bei der erneuten Implementierung einer Anwendung das Argument "-Xnoclassgc" angeben, müssen Sie den Anwendungsserver immer erneut starten, damit die Klassen und statischen Daten der vorherigen Version der Anwendung bereinigt werden.
Fehler vermeiden: Dieses Argument wird unter IBM i nicht unterstützt. Sie müssen das Argument -noclassgc verwenden, um die Garbage-Collection für Klassen auf dieser Plattform
zu inaktivieren.gotcha![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
-Xgcthreads Geben Sie -Xgcthreads an, wenn Sie mehrere Garbage-Collection-Threads gleichzeitig verwenden möchten. Diese Garbage-Collection-Techniken werden als parallele Garbage-Collection bezeichnet. Dieses Argument ist nur für IBM Developer Kit gültig.
Wenn Sie diesen Wert im Feld Generische JVM-Argumente eingeben, geben Sie auch die Anzahl der Prozessoren ein, die auf der Maschine ausgeführt werden.
-Xgcthreads<Anzahl der Prozessoren>
Fehler vermeiden: Fügen Sie
zwischen --Xgcthreads und dem Wert n, der die Anzahl der Prozessoren angibt, kein Leerzeichen ein.
-Xgcthreads5 ist ein Beispiel für die Angabe von -Xgcthreads mit 5 Prozessoren.
gotcha
Bewährtes Verfahren: Sie müssen parallele Garbage-Collection verwenden, wenn Ihre Maschine mehrere Prozessoren hat.bprac
Fehler vermeiden: Dieses Argument wird unter IBM i nicht unterstützt. gotcha![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
-Xnocompactgc Geben Sie -Xnocompactgc an, wenn Sie die Komprimierung des Heapspeichers inaktivieren möchten. Die Komprimierung des Heapspeichers ist die kostenintensivste Garbage-Collection-Operation. Wenn Sie IBM Developer Kit verwenden, müssen Sie die Komprimierung des Heapspeichers vermeiden. Wenn Sie die Komprimierung des Heapspeichers inaktivieren, fällt der damit in Zusammenhang stehende Aufwand weg.
Fehler vermeiden: Dieses Argument wird unter IBM i nicht unterstützt. gotcha![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
-Xgcpolicy Geben Sie -Xgcpolicy an, um die Garbage-Collection-Richtlinie festzulegen. Dieses Argument ist nur für IBM Developer Kit gültig.
Setzen Sie dieses Argument auf
optthruput
, wenn Sie den Durchsatz optimieren möchten und keine Probleme entstehen,
wenn lange Pausen zwischen den Garbage-Collections eingehalten werden.![[Aktualisierung September 2013]](../images/deltaend.gif)
Setzen Sie dieses Argument auf gencon, wenn Sie einen Garbage-Collector verwenden, der die Garbage-Collection nach Objektalter durchführt. Mit Hilfe des Schemas nach Objektalter wird versucht, einen hohen Durchsatz bei geringeren Wartezeiten während der Garbage-Collection zu erzielen. Dazu wird der Heapspeicher in zwei Generationen, neue und alte Segmente unterteilt. Langlebige Objekte werden dem alten Speicher zugeordnet, während kurzlebige Objekte im neuen Speicher schnell durch die Garbage-Collection bereinigt werden. Die Richtlinie "gencon" hat für viele Anwendungen erhebliche Vorteile. Sie eignet sich jedoch nicht für alle Anwendungen und ist gewöhnlich schwer zu optimieren.
Setzen Sie dieses Argument auf optavgpause, wenn Sie die gleichzeitige Markierung verwenden möchten, um Anwendungsthreads zu überwachen, die aus dem Stack gestartet werden, bevor der Heapspeicher erschöpft ist. Auf diese Weise werden lange Pausen vermieden und einheitlichere Pausen erreicht. Die Verwendung dieser Richtlinie verringert jedoch den Durchsatz, weil die Threads zusätzliche Operationen ausführen müssen.
Setzen Sie dieses Argument auf subpool, wenn Sie die Leistung von Multiprozessorsystemen erhöhen möchten, in denen gewöhnlich mehr als acht Prozessoren verwendet werden. Diese Richtlinie ist nur für Prozessoren auf IBM System i, System p und System z verfügbar. Die Richtlinie "subpool" gleicht der Richtlinie "optthruput", allerdings wird der Heapspeicher in Speicherteilbereiche unterteilt, die eine bessere Skalierbarkeit für die Objektzuordnung bieten.
Fehler vermeiden: Dieses Argument wird unter IBM i nicht unterstützt. gotcha![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
-XXJava Platform, Standard Edition 6 (Java SE 6) unterstützt die generationsabhängige Garbage-Collection, bei der unterschiedliche Speicherpools für Objekte mit unterschiedlichem Alter unterstützt werden. Im Garbage-Collection-Zyklus werden die Objekte unabhängig voneinander nach Alter erfasst. Mit zusätzlichen Parametern können Sie die Größe der Speicherpools einzeln festlegen. Um einen besseren Durchsatz zu erzielen, setzen Sie die Größe des Pools für kurzlebige Objekte so fest, dass die Lebensdauer der Objekte im Pools die Dauer eines Garbage-Collection-Zyklus nicht überschreiten. Verwenden Sie die Parameter NewSize und MaxNewSize, um die Größe des Pools für die neue Generation festzulegen.
-XX:NewSize=unterer_Grenzwert -XX:MaxNewSize=oberer_Grenzwert -XX:SurvivorRatio=neues_Verhältnis
Bewährtes Verfahren: Bei einer JVM mit einer Heapspeichergröße von mehr als
1 GB müssen Sie jedoch die folgenden Werte verwenden:Alternativ können Sie 50 % bis 60 % der Gesamtgröße des Heapspeichers für einen neuen Generationspool festlegen.
Fehler vermeiden: Dieses Argument wird unter IBM i nicht unterstützt. gotcha![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
-Xminf Geben Sie -Xminf an, wenn Sie die Mindestgröße des freien Heapspeichers in Prozent ändern möchten. Der Heapspeicher wächst an, wenn der frei Speicherplatz unter dem angegebenen Minimum liegt. Dieses Argument gibt im Modus mit unterstützter Rücksetzmöglichkeit den Mindestprozentsatz des freien Speicherplatzes für Middleware- und Übergangsheapspeicher an. Der für dieses Argument angegebene Wert ist eine Gleitkommazahl zwischen 0 und 1. Der Standardwert ist .3 (30 Prozent).
Fehler vermeiden: Dieses Argument wird unter IBM i nicht unterstützt. gotcha![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
-server | -clientJava HotSpot Technology in Java SE 6 verwendet eine adaptive JVM die Algorithmen enthält, die die Leistung des Bytecodes mit der Zeit optimiert. Die JVM kann in zwei Modi ausgeführt werden: -server und -client. Sie sollten den Modus -server in den meisten Fällen. Dieser Modus unterstützt eine effizientere Laufzeitleistung über einen längeren Zeitraum.
Wenn Sie den Standardmodus -client verwenden, ist die Startzeit kürzer und der Speicherbedarf geringer. Dieser Modus verringert jedoch langfristig die Leistung. Verwenden Sie den Modus -server, der die Leistung verbessert nur, wenn die Startzeit von höherer Bedeutung ist als die Leistung. Sie können die Prozessgröße und die Startzeit des Servers überwachen, um die Leistungsunterschiede zwischen den Modi -client und -server besser zu verstehen.
Fehler vermeiden: Dieses Argument wird unter IBM i nicht unterstützt. gotchaGeben Sie das Argument -Dcom.ibm.CORBA.RequestTimeout= Zeitlimit an, um das Zeitlimit für die Beantwortung von Anforderungen festzulegen, die der Client sendet. Dieses Argument wird mit der Option "-D" verwendet. Zeitlimitintervall ist das Zeitlimit in Sekunden. Falls es in Ihrem Netz eine extreme Latenzzeit gibt, geben Sie einen hohen Wert an, um Zeitlimitüberschreitungen zu vermeiden. Wenn Sie einen zu niedrigen Wert angeben, kann es bei einem am WLM beteiligten Anwendungsserver zu einer Zeitlimitüberschreitung kommen, bevor er eine Antwort empfangen hat.
Geben Sie dieses Argument nur an, wenn in Ihrer Anwendung Probleme mit Zeitlimitüberschreitungen auftreten. Es gibt keine empfohlenen Werte für dieses Argument.
Das Argument -Dcom.ibm.server.allow.sigkill=true ermöglicht dem Node-Agent-Prozess die Verwendung der Methode "terminate" eines Prozesses, wenn die Methode "stop" nicht innerhalb des für Ping definierten Zeitintervalls abgeschlossen wird. Diese Einstellung ist hilfreich, wenn der Node Agent einen Anwendungsserver überwacht und den Kontakt zu diesem Anwendungsserver verliert.
Wenn die Überwachungsrichtlinie für den Anwendungsserver dem Node Agent den Neustart des Anwendungsservers ermöglicht, weil der automatische Neustart für den Anwendungsserver aktiviert ist, führt der Node Agent die Methode "stop" im Anwendungsserverprozess aus. Während der Stoppverarbeitung überwacht der Node Agent den Anwendungsserver. Wenn der Anwendungsserver nicht innerhalb des für Ping angegebenen Zeitintervalls gestoppt wird und dieses Argument auf true (den Standardwert) gesetzt ist, führt der Node Agent die Methode "terminate" im Anwendungsserverprozess aus, um den Anwendungsserverprozess zu stoppen.
Wenn Sie dieses Argument auf false setzen, setzt der Node Agent die Überwachung des Stoppprozesses fort, versucht aber nicht, den Anwendungsserver erneut zu starten.
Wenn Sie die Administrationskonsole zum Inaktivieren dieses Arguments verwenden möchten, klicken Sie auf Systemverwaltung > Node Agents > Name_des_Node_Agent > Java- & Prozessverwaltung > Prozessdefinition > Java Virtual Machine > Generische JVM-Argumente.
-Dcom.ibm.websphere.alarmthreadmonitor.hung_alarm_mute=Dieses Argument gibt an, wie oft ein Alarm seinen vollständigen Stack-Trace in Nachrichten aufgrund blockierter Threads in die Systemprotokolle schreiben kann.
Wenn ein Alarmthread des Systems länger aktiv ist, als durch den Grenzwert des Alarmthreadmonitors festgelegt, protokolliert der Anwendungsserver eine Nachricht aufgrund blockierter Threads, die den Namen des Alarmthreads, den Aktivitätszeitraum des Alarmthreads und den vollständigen Ausnahmebedingungs-Stack-Trace enthält. Der vollständige Stack-Trace ist nützlich, wenn es darum geht, die Ursache der Verzögerung zu beheben, doch wenn Nachrichten aufgrund blockierter Threads häufig ausgelöst werden, kann das dazu führen, dass andere Informationen in den Systemprotokollen schwer zu finden sind. Setzen Sie dieses Argument auf einen ganzzahligen Wert größer als 0, um anzugeben, wie oft ein einzelner Alarm seinen vollständigen Stack-Trace melden kann. Wenn dieser Grenzwert erreicht ist, enthält jede nachfolgende Nachricht, die aufgrund blockierter Threads ausgegeben wird, nur den Eintrag des blockierten Alarmhandlers.
Der Standardwert 0 zeigt an, dass alle Nachrichten aufgrund blockierter Threads für einen Alarm den vollständigen Stack-Trace enthalten.
-Dcom.ibm.websphere.native.logging.timestamp=trueGeben Sie dieses Argument an, um vor alle Debugnachrichten des Servers, die Ausgabe für die Protokolldateien "native_stdout" und "native_stderr" sind, eine Zeitmarke und eine Threadkennung zu setzen. Sie können die Zeitmarke und die Thread-ID verwenden, um das Verhalten der verschiedenen Bootstrapkomponenten des Anwendungsservers zum Verhalten anderer Servermechanismen, die in den Protokolldateien "SystemOut" und "SystemErr" angezeigt werden, in Beziehung zu setzen. Dieses Verhalten ist standardmäßig inaktiviert.
Wenn der Server mit dem generischen JVM-Argument -Dws.ext.debug=true konfiguriert wird, gibt er während der Bootstrapping-Sequenz Debugnachrichten in die Protokolldateien "native_stdout.log" und "native_stderr.log" aus. Wenn -Dcom.ibm.websphere.native.logging.timestamp ebenfalls auf true gesetzt ist, gibt der Server wie im folgenden Beispiel Debugnachrichten mit Zeitmarke und Thread-ID aus:
[6/18/12 16:24:31:453 CDT] 00000000
ws.ext.mains.args[0]=-nosplash
[6/18/12 16:24:31:453 CDT] 00000000
ws.ext.mains.args[1]=-application
[6/18/12 16:24:31:453 CDT] 00000000
ws.ext.mains.args[2]=com.ibm.ws.bootstrap.WSLauncher
[6/18/12 16:24:31:453 CDT] 00000000
ws.ext.mains.args[3]=com.ibm.ws.runtime.WsServer
-Dcom.ibm.websphere.wlm.unusable.interval=IntervallDieses Argument gilt nur für z/OS. Geben Sie das Argument -Dcom.ibm.websphere.wlm.unusable.interval= Zeitlimit an, um den Wert der Eigenschaft "com.ibm.websphere.wlm.unusable.interval" zu ändern, wenn der Workload-Management-Status des Clients zu früh oder zu spät aktualisiert wird. Diese Eigenschaft definiert das Zeitintervall, das die Laufzeitumgebung des WLM-Clients abwartet, nachdem sie einen Server als nicht verfügbar gekennzeichnet hat und bevor sie versucht, erneut Kontakt zu dem Server aufzunehmen. Dieses Argument wird mit der Option "-D" verwendet. Der Standardwert ist 300 (Sekunden). Falls Sie einen zu hohen Wert für diese Eigenschaft festlegen, bleibt der Server für einen langen Zeitraum als nicht verfügbar gekennzeichnet. Der WLM-Status des Clients wird erst nach Ablauf des angegebenen Zeitraums vom WLM-Aktualisierungsprotokoll aktualisiert.
-Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl=Dieses Argument gilt nur für z/OS. Mit dem Argument -Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl= können Sie angeben, dass der Speicher für einzelne direkte Bytepuffer freigegeben werden soll, sobald der Puffer nicht mehr benötigt wird. Der einzige unterstützte Wert für dieses Argument ist com.ibm.ws.buffermgmt.impl.ZOSWsByteBufferPoolManagerImpl.
-Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl=com.ibm.ws.buffermgmt.impl.ZOSWsByteBufferPoolManagerImpl
Auf der Plattform z/OS müssen Sie dieses Argument auch angeben,
wenn Sie die angepasste Eigenschaft zaioFreeInitialBuffers
für einen TCP-Kanal angeben, damit der Kanal die anfänglichen Lesepuffer für neue Verbindungen
freigibt, sobald sie für die Verbindung nicht mehr benötigt werden.
-DisSipComplianceEnabled=true|falseGibt an, ob die SIP-Konformitätsprüfung im SIP-Proxy-Server aktiviert ist. Durch die SIP-Konformitätsprüfung wird sichergestellt, dass die SIP-Nachrichten dem Standard "Session Initiation Protocol" entsprechen. Wenn Sie diese Eigenschaft auf true setzen, wird die SIP-Konformitätsprüfung aktiviert.
Fehler vermeiden: Wenn Sie einen Proxy-Server in einer
z/OS-Umgebung mit WebSphere Application Server Network Deployment ausführen und
Ihr Proxy-Server nicht zu einem Cluster gehört,
können Sie die angepasste Eigenschaft "isSipComplianceEnabled" des SIP-Proxy-Servers
verwenden, um die SIP-Konformitätsprüfung für diesen SIP-Proxy-Server zu aktivieren oder zu inaktivieren. Verwenden Sie jedoch einen eigenständigen Anwendungsserver oder gehört der Proxy-Server zu einem Cluster, müssen Sie dieses generische
JVM-Argument verwenden, um die SIP-Konformitätsprüfung zu aktivieren oder zu inaktivieren.gotcha![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
-Xshareclasses:noneMit dem Argument -Xshareclasses:none können Sie die Option für gemeinsam Nutzung von Klassen für einen Prozess inaktivieren. Die Option für die gemeinsame Nutzung von Klassen, die in Java SE 6 verfügbar ist, ermöglicht Ihnen die gemeinsame Nutzung von Klassen in einem Cache. Die gemeinsame Nutzung von Klassen in einem Cache kann die Startzeit verbessern und den Speicherbedarf verringern. Prozesse wie Anwendungsserver, Node Agents und Deployment Manager können die Option für gemeinsam Nutzung von Klassen verwenden.
Wenn Sie diese Option verwenden, müssen Sie den Cache löschen, wenn der Prozess nicht verwendet wird. Zum Löschen des Cacheinhalts rufen Sie das Dienstprogramm Stammverzeichnis_des_Anwendungsservers/bin/clearClassCache.bat/sh auf oder Sie stoppen den Prozess und starten ihn anschließend erneut.
Fehler vermeiden: ![[Solaris]](../solaris.gif)
![[IBM i]](../iseries.gif)
Die IBM JVM for J2SE 5 wird unter
Solaris, HP und IBM i nicht unterstützt.Verwenden Sie das Argument -XXallowvmshutdown:false, um die JVM, die nicht ordnungsgemäß ausgeführt wird, zu einem vorheriges Verhalten zurückzuversetzen. Java 5.0 SR10 und Java 6 SR5 korrigieren Problemstellungen, in denen die Java Virtual Machine (JVM) nicht ordnungsgemäß heruntergefahren wird. Wenn Sie eine Anwendung haben, die vom alten Verhalten abhängig ist, können Sie, indem Sie dieses Argument zum Abschnitt "Generische JVM-Argumente" hinzufügen, zum vorherigen Verhalten zurückwechseln.
| Information | Wert |
|---|---|
| Datentyp | String |
| Einheiten | Java-Befehlszeilenargumente |
Gibt einen vollständigen Pfadnamen für eine ausführbare JAR-Datei an, die vom JVM-Code verwendet wird.
| Information | Wert |
|---|---|
| Datentyp | String |
| Einheiten | Pfadname |
Gibt an, ob die JIT-Compileroption des JVM-Codes inaktiviert wird.
Wenn Sie den JIT-Compiler inaktivieren, nimmt der Durchsatz merklich ab. Im Hinblick auf den Durchsatz sollte JIT deshalb aktiviert bleiben.
| Information | Wert |
|---|---|
| Datentyp | Boolean |
| Standardeinstellung | false (JIT aktiviert) |
| Empfohlen | JIT aktiviert |
Gibt die JVM-Einstellungen für ein bestimmtes Betriebssystem an.
Beim Prozessstart verwendet der Prozess die JVM-Einstellungen, die für den Server als JVM-Einstellungen für das Betriebssystem festgelegt wurden.
Beim Prozessstart verwendet der Prozess die JVM-Einstellungen, die für den Knoten als JVM-Einstellungen für das Betriebssystem festgelegt wurden.