Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Puffergrößen der x86-Hardware (CISC) steuern

Folgende Systemparameter steuern auf x86-Servern gemeinsam die Hauptspeichernutzung für die Just-in-Time-Übersetzung von /390-Code durch die CISC-Firmware:

JTABSMEM

Parametername

Werte-Bereich

STD-Wert

JTABSMEM

0...1.000.000

0

Mit diesem Parameter wird der maximale Speicherplatz für den JIT-Puffer in MB festgelegt. Der Speicher wird resident angefordert und muss daher auf den Speicherausbau der Maschine abgestimmt sein.

Der Parameter ist mit dem Wert 0 vorbelegt. Die CISC-Firmware berechnet sich in diesem Fall den maximalen Speicherplatz nach der Formel: MEMORY-SIZE * 40 %. Der berechnete Wert für JTABSMEM wird mit der Meldung HJT0039 auf der Konsole protokolliert.

Die Obergrenze für den von der CISC-Firmware genutzten residenten Speicher kann durch die Angabe eines expliziten Wertes von 1 - 1.000.000 auch fest vorgegeben werden.

Der eingestellte Wert kann auch im laufenden Betrieb mit dem Kommando /MODIFY-SYSTEM-PARAMTERS geändert werden, siehe unten. Es wird jedoch bis auf wenige Ausnahmen dringend empfohlen, mit den voreingestellten Standardwerten zu arbeiten und für JTABSMEM keinen expliziten Wert einzutragen, da sich die Verwendung des STD-Wertes in der Praxis sehr bewährt hat und zudem den Automatismus bietet, dass die Größe des JIT-Puffers dynamisch im Verhältnis zum tatsächlich verfügbaren Hauptspeicher (z.B. im Rahmen einer Speicher-Rekonfiguration) angepasst wird.

Einstellung ändern

Wenn der eingestellte Wert verändert wird, sind folgende Punkte zu beachten:

  • Der eingestellte Wert muss zu den Angaben des Parameterwertes für BIG-PAGE-QUOTA passen, siehe Handbuch "Einführung in die Systembetreuung"[10], Abschnitt "Parameterservice für die Speicherverwaltung (MEMORY)". BIG-PAGE-QUOTA definiert die Maximalzahl der vom Memory Management vorgehaltenen residenten BIG PAGES im BS2000, die von beliebigen BS2000-Instanzen genutzt werden können. Derzeit ist die CISC-Firmware die einzige Instanz, die aktuell BIG PAGES nutzt.

    Daher sind die eingestellten STD-Werte für die beiden Parameter optimal aufeinander abgestimmt:

    Parameter

    Bedeutung

    JTABSMEM=0

    Die CISC-Firmware nutzt maximal 40% der MEM-SIZE

    BIG-PAGE-QUOTA=40

    Das BS2000 Memory Management reserviert 40% der MEM-SIZE für BIG PAGES

  • Wird für JTABSMEM explizit ein Wert ungleich 0 eingestellt, ist in jedem Fall darauf zu achten, dass vom BS2000 Memory Management weder zu viele noch zu wenige BIG PAGES vorgehalten werden:

    • Im ersten Fall würde der zu viel reservierte Speicherbereich ungenutzt bleiben.

    • Im zweiten Fall würde die CISC-Firmware über die verfügbaren BIG PAGES hinaus bis zu der mittels JTABSMEM definierten Obergrenze sonstigen residenten Speicher anfordern. Da die Adressübersetzung dafür deutlich weniger performant ist als für die BIG PAGES, würde das zu einer schlechteren Performance für die TU-Programme führen.

  • Eine Änderung der voreingestellten Werte für die obigen Parameter ist ggf. sinnvoll, wenn es im laufenden System tatsächlich zu Engpässen bei der Verwendung des JIT-Speichers kommt. Bei einer Annäherung des bereits genutzten Speicherplatzes innerhalb des JIT-Puffers an den Grenzwert wird die Meldung HJT0035 mit einem entsprechenden JIT-Memory-Saturation-Level ausgegeben:

    • Bei Erreichen von Level 1 wird empfohlen, den Grenzwert zu erhöhen.

    • Bei Erreichen von Level 2 wird dringend empfohlen, den Grenzwert zu erhöhen, da ansonsten größere Performance-Einbußen zu erwarten sind. Die Erhöhung sollte aber immer im Einklang mit dem gesamten zur Verfügung stehenden Hauptspeicher und dem Speicherbedarf des restlichen BS2000 durchgeführt werden. In solchen Fällen sollte der Service bewerten, ob der zur Verfügung stehende Hauptspeicher für die auf dem System ablaufenden Applikationen ausreichend ist.

  • Im Rahmen der Speicher-Rekonfiguration ist zu beachten:
    • Die Größe des JIT-Puffers wird zwar dynamisch an die tatsächliche Hauptspeichergröße angepasst, jedoch erfolgt die Freigabe von belegtem Speicher nicht sofort, sondern erst bei Programmbeendigung.
    • Es kann daher u.U. gewünscht sein, eine VM mittels "zu kleinem" JTABSMEM von 40% des dauerhaft verfügbaren Speichers auf ein /REDUCE-VM-MEMORY vorzubereiten.

JTSTDMEM

Parametername

Werte-Bereich

STD-Wert

JTSTDMEM

1...65535

16

Dieser Parameter JTSTDMEM legt fest, wie viel JIT-Puffer das System jeder Task innerhalb des globalen JIT-Puffers maximal zur Verfügung stellt, sofern Task-spezifisch keine andere Einstellung über /MODIFY-DBL-DEFAULTS erfolgt ist.

Die Standardgröße der Task-spezifischen JIT-Puffer beträgt 16 MB. Da die CISC-Firmware nur so viel Speicher anfordert, wie zum Ablauf des aktuellen /390-Programms notwendig ist, wird empfohlen den STD-Wert nicht zu verändern. Bei Erreichen des Wertes JTSTDMEM wird die Meldung HJT0032 ausgegeben, der Task-spezifische JIT-Puffer zurückgesetzt und neu aufgebaut. Da die damit verbundene Performance-Minderung normalerweise gering ist, wird die Meldung nur in die CONSLOG-Datei ausgegeben.

Nur in sehr seltenen Fällen (z.B. bei besonders großem Working-Set-Bedarf einer Task) kann es vorkommen, dass eine Vergrößerung des JIT-Puffers sinnvoll ist.

Zur Task-spezifischen Vergrößerung des JIT-Puffers muss die neue Größe mit folgendem Kommando angegeben werden (nn = Anzahl MB):

/MODIFY-DBL-DEFAULTS SCOPE=*CMD-CALLS(CISC-COMPILATION=*YES(WORKSPACE=nn))

Die Änderung wirkt für alle DBL-Aufrufe (/START-, /LOAD-(EXECUTABLE-)PROGRAM, BIND) der Task. Das Kommando muss in alle Enter-Jobs bzw. Prozeduren eingefügt werden, wenn dort Programme, die einen größeren JIT-Puffer benötigen, geladen werden.

JTMAXMEM

Parametername

Werte-Bereich

STD-Wert

JTMAXMEM

1...65535

128

Der Parameter JTMAXMEM legt den Maximalwert fest, der Task-spezifisch über /MODIFY-DBL-DEFAULTS eingestellt werden kann.

JTSHMEM

Parametername

Werte-Bereich

STD-Wert

JTSHMEM

0...256

64

Legt fest, wieviel Speicherplatz JITSYS zur Ablage von Share-Kompilaten verwenden soll (in MB).

Share-Kompilate entstehen bei der Emulation von in Klasse-4-Speicher geladenen Subsystemen. Sind keine solchen Subsysteme vorhanden bzw. sollen diese nicht "shared" übersetzt werden, kann mit JTSHMEM = 0 die Erzeugung von "shared" Kompilaten verhindert werden. Der Wert JTSHMEM sollte in Abstimmung mit dem insgesamt zur Verfügung stehenden Klasse-3-Speicher gesetzt werden.

Die bei JTSHMEM angegebene Speichergröße wird bei Initialisierung von JITSYS sofort allokiert. Eine Änderung des Werts im laufenden Betrieb wird bis auf weiteres nicht unterstützt. Die Einstellung des Wertes kann nur in 4er-Schritten erfolgen, andere Werte werden auf die nächste 4-MB-Grenze aufgerundet.

Eine Änderung des Standardwertes von JTSHMEM sollte synchron zum Parameter BIG-PAGE-SHRSIZE im Parametersatz MEMORY des Startup-Parameterservice erfolgen.

Zum Parameter SHXSIZE des Startup-Parameterservice besteht ein (indirekter) Zusammenhang:

Wenn SHXSIZE sehr groß gewählt und auch tatsächlich eine entsprechende Menge von Programmen "shared" geladen wird, dann ist es sinnvoll, auch JTSHMEM zu erhöhen.