Show TOC

VM Container Trace-FlagsLocate this document in the navigation structure

Verwendung

Wählen Sie in der VM Übersicht (Transaktion SM52) Anfang des Navigationspfads VM Nächster Navigationsschritt Tracing Ende des Navigationspfads und bestätigen Sie die folgende Abfrage mit Ja.

Sie können nun die Trace-Flags aktivieren, die Sie für Ihre Fehleranalyse benötigen.

Achtung

Beachten Sie, dass das Tracing die Performance des VM Containers verschlechtert. Schalten Sie das Tracing wieder aus, wenn Sie die gesuchten Informationen haben.

Jedes Trace-Flag bewirkt zusätzliche Trace-Ausgaben im Entwickler-Trace (Workprozess-Trace-Dateien dev_w*). Was genau für jedes Trace-Flag in den Trace geschrieben wird, können Sie der folgenden Tabelle entnehmen.

Die oberen beiden Blöcke von Trace-Flags beziehen sich auf Aktivitäten innerhalb der VM, der untere Block besteht aus Trace-Flags für den JIT-Compiler.

Trace-Flag

Trace-Ausgaben

OP Execution

Ausführung jedes einzelnen Java Opcodes; Tracing dauert extrem lang

Meth Execution

Eintritt/Austritt für jede Java Methode; Tracing dauert sehr lang

Interpret. Loop

Status des oberen Java Frames nach jedem Methodenaufruf oder Rücksprung.

Java Sync (fast)

Lock/Unlock Operationen auf Java-Objekten ohne Konkurrenz (über 99% aller Synchronisationsoperationen)

Java Sync (det)

Lock/Unlock auf Java Objekten mit Konkurrenz und alle Wait/Notify Operationen auf Java Objekten

Mutex locking

Lock/Unlock Operationen nativer Locks.

Consit. State

Erreichen eines konsistenten Zustands (derzeit nur für die GC verwendet).

GC Start/Stop

Start und Ende des Garbage Collectors

GC Root scans

Details über das Prozessieren der Wurzeln des Java Heaps während der GC.

GC Heap scans

Details über das Prozessieren der Objekte im Java Heap während der GC.

GC Obj alloc

Details zu jeder Objekterzeugung.

GC internals

Interne Vorgänge der GC.

GC safe/unsafe

Übergänge gc-safe/gc-unsafe anzeigen.

Class static init

Statische Initialisierung von Java-Klassen

Java Exceptions

Alle Java Exceptions, die geworfen oder gefangen werden.

Misc (init, exit)

Phasen beim Starten/Beenden einer VM

Beenden einer VM per exit

Suchen von JNI Routinen

GC barriers

Derzeit nicht benutzt.

Stackmap gen

Erzeugen von Java Stackmaps (Methoden-Datenstrukturen, die zur Garbage Collection notwendig sind)

Class loading

Laden von Java-Klassen

Class lookup

Suchen von Java-Klassen im Cache des Class Loaders; Tracing dauert sehr lang

Type system

Alle Operationen des TypeID Systems (verwaltet Klassen-, Feld- und Methodennamen sowie Methodensignaturen)

Java Verifier

Bytecode-Verifikation von Java Klassen (geschieht beim Linken)

Weak ref handling

VM interne Behandlung von Objekten mit besonderer Garbage-Collection aus java.lang.ref.Reference (weak, soft, phantom) und Finalizern.

Class unloading

Entladen von Java-Klassen durch Garbage Collection

Class linking

Linken von Java-Klassen

LVM

Nicht benutzt

Controls

Behandlung von Controls.

Controls (int)

Interne Behandlung von Controls (Tracing dauert lang)

Debugging

Lebenszyklus des Debugging On Demands

JVMDI

Trace der wichtigsten JVMDI Funktionalität

JVMDI (int)

Trace der weniger wichtigen JVMDI Funktionalität

Thread sched

Liefert die Sicht des Thread Schedulers über den aktuellen Stand der Threads.

Das beinhaltet folgende Informationen:

  • Warum ein Thread nicht mehr lauffähig ist (z.B. wartet auf I/O, blockiert auf Synchronisationsobjekten),

  • Warum ein Thread lauffähig wird (z.B. I/O ist verfügbar, Synchronisationsobjekt wurde notifiziert),

  • CPU Nutzung eines Threads,

  • Aktueller Stand der I/O Calls,

  • Rollstatus der VM,

  • Zusammenspiel mit dem Taskhandler

Thread sched(int)

Liefert Informationen über :

  • C-Stack Erzeugung,

  • C-Stack-Zuweisung an einen Thread,

  • Schließen von Datei-Deskriptoren, die von anderen Threads in Nutzung sind

  • Nicht blockierende I/O Calls

Basic File IO

Öffnen und Schließen von Dateien.

File IO (r/w)

Alle Lese- und Schreiboperationen und ihre Resultate, allerdings ohne die gelesenen/geschriebenen Daten zu protokollieren.

File IO (data)

Alle gelesenen und geschriebenen Daten.

File IO (int)

Interne Funktionen bei der Dateienbehandlung.

Basic Network IO

Bind/Accept/Listen/Connect von Sockets.

Net IO (send/rec)

Alle send-, receive- und verwandter Operationen, ohne jedoch die versendeten Daten anzuzeigen.

Net IO (data)

Alle gesendeten Daten.

Net IO(int)

Interne Funktionen bei der Socketbehandlung.

JPDA

Wichtigere Funktionen der JPDA Library (Debugging).

JDPA (int)

Weniger wichtige Funktionen der JPDA Library (Debugging).

JDWP

Alle Pakete, die zwischen dem Debugger und der VM ausgetauscht werden (in lesbarem Format).

VM attach/detach

Binden einer VM an einen Workprozess (attach) und Loslösen einer VM vom Workprozess (detach)

Trace symb. names

Ermitteln und Ausgabe der symbolischen Namen für externe Funktionen, die nicht per symbolischem Namen, sondern per Zeiger an die VM übergeben werden.

Ext Mutex

Lock/Unlock auf systemweiten Sperren ( Shared Locks und VM-interne Sperren), ausgenommen einige sehr häufig benutzte.

Ext Mutex (int)

Lock/Unlock auf sehr häufig benutzten VM-internen systemweiten Sperren (sehr lang)

GC statistics

Ausgabe der wichtigsten Informationen für jede Garbage Collection in lesbarem Format.

Surviving objects

Ausgabe der Anzahl und Gesamtgröße lebender Objekte nach Klassen sortiert bei jeder kompletten GC.

Configuration

Ausgabe von VM Konfigurationen beim Hochstarten.

Shared GC

Anfang, Ende und sonstige Zustandsübergänge des Shared Garbage Collectors

Shared GC (int)

Interne Implementierungsdetails des Shared Garbage Collectors (sehr lang)

Shared Closure

Shared Closure Operationen

Shr Closure (det)

Interne Implementierungsdetails von Shared Closures (sehr lang)

Trace-Flag

Trace-Ausgaben

JIT Status

Übersetzungsaktivitäten des JIT-Compilers

JIT BC to IR

Übersetzung von Java Bytecode in interne Zwischendarstellung

JIT code generation

Erzeugung des Maschinencodes

JIT statistics

Statistiken zur Codeerzeugung

JIT IR opt

Block-lokale Optimierungen auf der Zwischendarstellung

JIT inlining

Einlagern von Methoden

JIT on stack replacement

Ersetzen der interpretierten Ausführung einer Methode durch Ausführung der übersetzten Methode

JIT CFG

Erzeugung des Kontrollflussgraphen

JIT DFA

Datenflussbasierte Optimierungen auf der Zwischendarstellung

JIT DEOPT

Deoptimierung von Ausführungen kompilierter Methoden

Weitere Informationen

Allgemeine Informationen zum Trace im SAP-Applikationsserver finden Sie unter Trace-Funktionen.

Die Übersicht über die Administrationsfunktionen im VM Container finden Sie unter Administration des VM Containers.