Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Pagepool einer stand-alone-Anwendung

Im Pagepool einer stand-alone-Anwendung werden Benutzerdaten gespeichert, die während des Anwendungslaufs erzeugt werden. Das sind neben den UTM-Speicherbereichen und den Vorgangsdaten u.a.:

  • Die Message Queues der Asynchron-TACs, der LTERM-, LPAP- und OSI-LPAP-Partner sowie Benutzer-, TAC- und temporäre Queues d.h. Aufträge an lokale Services und Kommunikationspartner, service-gesteuerte Queues sowie Druckaufträge an die Drucker der Anwendung, die noch nicht bearbeitet sind.

  • Zwischengespeicherte Dialog- oder Asynchron-Aufträge an Transaktionscodes von TAC-Klassen, die als Folge der TAC-Klassen-Steuerung unterbrochen werden.

Die Pagepoolgröße wird bei der KDCDEF-Generierung festgelegt und kann im laufenden Betrieb nicht verändert werden.

Bei laufender Anwendung muss verhindert werden, dass der Pagepool vollständig belegt wird. Dafür werden bei der KDCDEF-Generierung zwei Warnstufen (Pagepool-Belegung in %) definiert. Erreicht die Pagepool-Belegung eine dieser Warnstufen, dann erzeugt openUTM die Meldung K041. Wird für diese Meldung das Meldungsziel MSGTAC definiert, können Sie in einer MSGTAC-Routine auf dieses Ereignis reagieren. Wird die 2. Warnstufe (Standardeinstellung 95%) erreicht, dann werden keine Asynchron-Aufträge mehr in die Message Queues und keine Benutzer-Protokollsätze (LPUT-Aufträge) mehr in die Benutzerprotokolldatei geschrieben. Asynchron-Aufträge und LPUT-Aufrufe werden dann abgewiesen.

Deshalb sollten Sie bei Erreichen der 1. Warnstufe Maßnahmen ergreifen, um Speicherplatz im Pagepool freizugeben. Im Betrieb der Anwendung können Sie sich über die momentane Belegung des Pagepools informieren.

KDCINF STATISTICS
KDCINF PAGEPOOL

KC_GET_OBJECT mit obj_type=KC_CURR_PAR
KC_GET_OBJECT mit obj_type=KC_PAGEPOOL

Kommt es allerdings häufig zu Pagepool-Engpässen, dann ist der Pagepool zu klein dimensioniert. Sie sollten dann eine Neugenerierung der Anwendung durchführen und den Pagepool vergrößern.

Im Folgenden ist beschrieben, wie Sie die Message Queues und zwischengespeicherte Dialog-Aufträge abbauen können, um die Überbelegung des Pagepools abzubauen.

Message Queues abbauen

Folgende Maßnahmen können Sie ergreifen, um Message Queues abzubauen:

  • Drucker-Queues können Sie abbauen, indem Sie Verbindung zu allen Druckern aufbauen, für die Druckaufträge vorliegen. Die Druckaufträge werden dann sofort bearbeitet, auch wenn für einen Drucker ein Schwellwert generiert (plev) und dieser noch nicht erreicht ist.

  • Die Verbindungen zu TS-Anwendungen und Partner-Anwendungen aufbauen, für die Asynchron-Aufträge im Pagepool zwischengespeichert sind. Sind die Kommunikationspartner gesperrt, müssen sie zuvor freigegeben werden.

  • Die Anzahl der Prozesse heraufsetzen, die gleichzeitig für die Asynchron-Verarbeitung verwendet werden können.

  • Die Prozesszahl heraufsetzen, die maximal gleichzeitig zur Bearbeitung von Aufträgen an eine bestimmte TAC-Klasse verwendet werden kann (in Anwendungen ohne Prioritätensteuerung).

  • Asynchron-Transaktionscodes und TAC-Queues, die mit Status KEEP gesperrt bzw. blockiert sind, entweder entsperren (Status ON) oder mit Status OFF sperren. Status KEEP bedeutet, dass Aufträge an den Transaktionscode bzw. an die Queue zwar angenommen, aber nicht bearbeitet werden. Status OFF bedeutet, dass keine weiteren Aufträge angenommen, wartende Aufträge jedoch abgearbeitet werden.

  • Die Asynchron-Aufträge löschen, die in den Message Queues dynamisch gelöschter LTERM-Partner und Asynchron-TACs stehen.

  • Ältere Nachrichten aus service-gesteuerten Queues löschen, wenn diese voraussichtlich nicht mehr gelesen werden.

  • Nachrichten der Dead Letter Queue wieder einem neuen Ziel zuordnen, damit sie verarbeitet werden können.

KDCINF STATISTICS:
Gesamtzahl aller im Pagepool zwischengespeicherten Nachrichten abfragen

KDCINF LTERM / LPAP / OSI-LPAP / TAC:
Belegung der Message Queues einzelner Objekte abfragen

KDCINF PAGEPOOL:
Pagepoolseitenbelegung nach Typen aufgeschlüsselt abfragen

KDCAPPL SPOOLOUT: Drucker-Queues abbauen

KDCLTERM bzw. KDCLPAP: Verbindung zu Kommunikationspartner aufbauen

KDCAPPL ASYNTASKS: Ändern der Prozesszahl

KDCTAC STATUS: Status eines Transaktionscodes ändern

KDCTCL: Ändern der Prozesszahl einer TAC-Klasse

KC_GET_OBJECT
mit obj_type=KC_CURR_PAR: Gesamtzahl aller im Pagepool zwischengespeicherten Nachrichten abfragen
mit obj_type=KC_LTERM / KC_LPAP / KC_OSI-LPAP / KC_TAC: Belegung der Message Queues einzelner Objekte abfragen
mit obj_type=KC_PAGEPOOL:
Pagepoolseitenbelegung nach Typen aufgeschlüsselt abfragen

KC_SPOOLOUT: Drucker-Queues abbauen

KC_MODIFY_OBJECT
mit obj_type=KC_LTERM / KC_LPAP/KC_OSI_LPAP: Verbindungen aufbauen
mit obj_type=KC_TASKS_PAR: Prozesszahl ASYNTASKS ändern
mit obj_type=KC_TAC: Status eines Transaktionscodes bzw. einer TAC-Queue ändern
mit obj_type=KC_TACCLASS: Ändern der Prozesszahl einer TAC-Klasse

DADM (KDCS-Aufruf): Löschen von Aufträgen und Verschieben von Nachrichten aus der Dead Letter Queue

In Anwendungen ohne TAC-PRIORITIES-Anweisung: Auftrags-Queues der TAC-Klassen abbauen

Wieviele Aufträge für eine bestimmte TAC-Klasse im Pagepool zwischengespeichert sind, können Sie mit den Informationsfunktionen abfragen. In den Informationen, die openUTM zu einer TAC-Klasse ausgibt, ist die Anzahl der im Pagepool zwischengespeicherten Nachrichten enthalten.

Um diese Queues abzubauen, können Sie die maximale Anzahl der Prozesse heraufsetzen, die gleichzeitig Aufträge für diese TAC-Klasse bearbeiten können.

KDCINF TACCLASS: Anzahl der zwischengespeicherten Dialog-Aufträge abfragen
KDCTCL: Prozesszahl ändern

KC_GET_OBJECT mit obj_type=KC_TACCLASS:
Anzahl der zwischengespeicherten Dialog-Aufträge abfragen

KC_MODIFY_OBJECT mit obj_type=KC_TACCLASS: Prozesszahl ändern

Datenkomprimierung ein- oder ausschalten

Wenn viele Pagepoolseiten für GSSBs, LSSBs, TLS oder ULS belegt sind (KDCINF PAGEPOOL bzw. KC_GET_OBJECT mit obj_type=KC_PAGEPOOL), sollten Sie prüfen, ob das Einschalten der Datenkomprimierung die Anzahl der belegten Seiten eventuell reduziert.

Ob sich die Datenkomprimierung lohnt, können Sie bei eingeschalteter Datenkomprimierung wie folgt prüfen:

KDCINF STAT, Feld AVG COMPRESS PAGES SAVED

KC_GET_OBJECT mit obj_type=KC_CURR_PAR, Feld avg_saved_pgs_by_compr