
Dieser Parameter legt fest, wie im VM Container Kernel-Funktionen, d.h. Funktionen, die innerhalb des SAP-Kernels in C oder C++ implementiert sind, gerufen werden. Die Problematik dabei ist, dass die C/C++ Laufzeitstacks der VM, die pro Thread benötigt werden, möglichst klein konfiguriert werden, um Speicher zu sparen. Je nach Typ der Funktion (große Felder auf dem Stack, rekursive Funktionen) kann das zu Problemen führen.
Service-Stack
Deshalb gibt es im VM Container das Konzept eines Service-Stacks, dessen Stack größer konfiguriert ist und der daher solche "schwergewichtigen" Funktionen ohne Probleme ausführen kann. Der Nachteil ist ein relativ kleiner Performance-Verlust durch den notwendigen Stack-Wechsel.
Da der Wechsel auf den Service-Stack nur bei wenigen Funktionen notwendig ist, wurden alle Kernel-Funktionen klassifiziert, es gibt also Kernel-Funktionen zweierlei Typs.
Funktionen, die direkt auf dem VM-Stack ablaufen können
Funktionen, die auf dem Service-Stack ausgeführt werden müssen
Standardmäßig benutzt der VM Container diese Information zur Ausführung der Funktionen. Sollte es dennoch zu Problemen kommen und ist es auf Grund des zu Verfügung stehenden Speichers nicht möglich, die Stack-Größe zu verändern, kann dieses Verhalten verändert werden.
Der Service-Stack ist im Standard 1 MB (32-Bit-Plattformen) bzw 2MB (64-Bit-Plattformen) groß. Die Größe kann mit dem Profilparameter vmcj/option/Ss verändert werden (vgl Speicherparameter).
Eigenschaften
|
Arbeitsgebiet |
VM Container |
|
Einheit |
Zeichenkette |
|
Standardwert |
USE_MARKUP |
|
Dynamisch änderbar |
Lokal und auf allen Servern |
Wertebereich und Syntax
Es gibt folgende Möglichkeiten:
USE_MARKUP: Aufruf anhand der Klassifizierung
INVOKE_ON_SERVICE_STACK: Aufruf immer auf dem Service-Stack
INVOKE_DIRECT: Aufruf immer direkt