Show TOC

JIT-Compiler: Konfiguration und StatistikLocate this document in the navigation structure

Verwendung

Dieser Teil der Navigationsstruktur in der VMC Systemadministration (Transaktion SM53) liefert Konfigurations- und Statistikinformationen zum Just-In-Time Compiler des SAP VM Container.

Funktionsumfang

Die Navigationsstruktur in der SM53 enthält zum Knoten JIT-Compiler die Unterknoten Konfiguration, Code Cache, Nicht kompilierbare Methoden und Statistik.

Hinweis

Sie können hier nur Monitoring betreiben, die Konfiguration des JIT-Compilers ist über die VMC-Systemadministration nicht änderbar.

Konfiguration

In einer Tabelle sehen Sie alle Parameter, die das Verhalten des JIT-Compilers steuern. Für jeden Parameter liefert die Tabelle die folgenden Angaben.

  • Name des JIT-Parameters

  • Voreingestellter Wert: Jeder Parameter hat einen vorgegebenen Wert (Defaultwert, factory setting), der in dieser Spalte angezeigt wird. Auch <unset> (=undefiniert) wird in diesem Zusammenhang als Voreinstellung betrachtet.

  • Aktueller Wert: Die voreingestellten Werte können beim Start der VM durch Profilparameter verändert werden. Diese Spalte informiert über die tatsächlich gültigen Parameterwerte. Die Werte der Unterparameter zu "excludeFile" und "methodtraceFile" werden indirekt aus der zugehörigen Steuerdatei ermittelt.

Wenn Sie diese Profilparameter ändern wollen, müssen Sie die Profildatei der Instanz ändern und den VM Container auf dieser Instanz durchstarten (Transaktion SM52, Anfang des Navigationspfads VMC Nächster Navigationsschritt zurücksetzen Ende des Navigationspfads, vgl. Funktionen für den VM Container (Menü VMC)).

Informationen zum wichtigsten JIT-Parameter vmcj/option/jit/compile finden Sie im Abschnitt Konfigurationsparameter.

Code Cache

Java-Methoden werden im Bedarfsfall durch den JIT-Compiler in eine Folge von Maschinenbefehlen übersetzt, die auf der Hardware direkt ausführbar sind. Das Ergebnis der Übersetzung wird im Code Cache abgelegt, damit es ab dem Zeitpunkt der Übersetzung immer wieder benutzt (aufgerufen) werden kann. Es hängt von den Eigenschaften der übersetzten Methode ab, ob der erzeugte Code von mehreren VMs gleichzeitig benutzt werden kann (Registerkarte Gemeinsam genutzter Code Cache) oder ob jede VM eine eigene Kopie des Maschinencodes erzeugen muss (Registerkarte Lokaler Code Cache).

Die Liste zeigt für jede übersetzte Methode (Spalte Name der Methode) folgende Informationen:

  • Größe [Bytes}: Platz, den die erzeugten Maschinenbefehle (inkl. Konstanten) im Code Cache belegen.

  • ClassLoader Name: Name des Class Loaders, der die Methode geladen hat.

  • Startadresse: Beginn des Code Cache Bereichs für die übersetzte Methode. Diese Adresse ist nicht unbedingt die Einsprungadresse für Aufrufer.

  • Endadresse: Ende des Code Cache Bereichs für die übersetzte Methode.

Nicht kompilierbare Methoden

Es gibt verschiedene Bedingungen, bei deren Eintreten eine Methode durch den JIT-Compiler nicht erfolgreich übersetzt werden kann. Die wahrscheinlichste Bedingung ist das Überschreiten der maximal zulässigen Code Cache Größe durch eine zu komplexe Java-Methode. In der Liste wird der Methodenname und der zugehörige ClassLoader angezeigt. Auch hier wird unterschieden zwischen Methoden in lokalen Klassen und Methoden in Shared Classes (verschiedene Registerkarten).

Statistik

Unter dem Punkt Statistik werden die internen Statistikinformationen des JIT-Compilers angezeigt.

Hinweis

Die Information ist hauptsächlich für die Problemanalyse durch den SAP-Support bestimmt und nicht umfassend dokumentiert.

Die Tabelle enthält folgende Spalten:

  • Name des Statistiksatz-Feldes

  • Feldtyp: Ein Statistiksatz-Feld kann den Typ "Zähler" (Feldtyp times), "Zeitdifferenz" (Feldtyp us, Einheit Mikrosekunden), "Länge" (Feldtyp bytes) oder "Name" (Feldtyp method) besitzen.

  • Gesamtwert des Statistiksatz-Feldes: Summe der Feldwerte über aller Statistiksätze

  • Letzte Anfrage: Feldwert der unmittelbar vorhergehenden Verarbeitung

  • Aktuelle Anfrage: Feldwert zum Zeitpunkt der Listenaufbereitung. Dieser Wert ist nicht notwendigerweise identisch mit dem Feldwert am Ende der Verarbeitung.