Show TOC

vmcj/jni_strategyLocate this document in the navigation structure

Verwendung

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

Integration

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