![[z/OS]](../images/ngzos.gif)
Anforderungszuteilung überwachen
Dispatch Progress Monitor (DPM) ermöglicht Ihnen, Daten über eine zugeteilte Anforderung in regelmäßigen Abständen zu erfassen, falls die Verarbeitung dieser zugeteilten Anforderung nach Ablauf dieses Zeitintervalls noch immer nicht abgeschlossen ist. Nach der Erfassung der Daten beginnt ein neues Zeitintervall. Nach Ablauf dieses Zeitintervalls werden die Daten wieder erfasst. Solange der DPM aktiv ist und die Anforderung immer noch im Servant ausgeführt wird, werden am Ende jedes Zeitintervalls die Daten erfasst.
Vorbereitende Schritte
- Bestimmen Sie, für welchen Typ von Protokollen Sie Anforderungen überwachen möchten. Sie können DPM so konfigurieren, dass Daten für Anforderungen erfasst werden, die das Protokoll IIOP, HTTP, HTTPS, MDB, SIP oder SIPS verwenden.Sie können DPM auch so konfigurieren, dass Daten für Anforderungen aus dem CRA erfasst werden, die über den Controller in die Warteschlange eines Servants übertragen werden.
- Bestimmen Sie, wie oft DPM die Daten über jede Anforderung erfassen soll. Sie können beispielsweise nur die Daten für Anforderungen mit langer Laufzeit erfassen. In diesem Fall müssen Sie das Intervall auf eine Länge setzen, die verhindert, dass die Daten für Anforderungen erfasst werden, die schnell ausgeführt werden.
- Bestimmen Sie den Typ der Daten, die DPM am Ende jedes Zeitintervalls erfassen soll. Sie können DPM so konfigurieren, dass ein SVC-Speicherauszug, ein Java-Kernspeicherauszug, ein Heapspeicherauszug oder ein Java-Tdump erstellt wird oder dass Traceback-Daten erfasst werden.
Informationen zu diesem Vorgang
Wenn DPM für das Protokoll, das eine Anforderung verwendet, nicht aktiv ist, z. B. HTTP oder IIOP, und die Anforderung dem Servant zugeteilt wird, überwacht DPM diese Anforderung nicht, selbst dann nicht, wenn Sie den Befehl modify absetzen, um DPM nach der Zuteilung der Anforderung für dieses Protokoll dynamisch zu aktivieren. Nachdem Sie DPM für ein Protokoll aktiviert haben, überwacht DPM nur neue Anforderungen, die dieses Protokoll verwenden.
Das DPM-Intervall und die Speicherauszugsaktion werden anfänglich von der WLM-Klassifikationsdatei abgerufen. Der DPM-Befehl "modify" überschreibt diese Werte für den gesamten Server. Wenn Sie ein DPM-Intervall oder die Speicherauszugsaktion zurücksetzen, wird die Überschreibung inaktiviert, d. h., die Werte für die Rücksetzparameter werden erneut von der WLM-Klassifikationsdatei abgerufen.
Wenn DPM für das für eine Anforderung verwendete Protokoll aktiv ist, können Sie vor der Zuteilung dieser Anforderung an den Servant dynamische Änderungen am festgelegten Zeitintervall und an der Speicherauszugsaktion vornehmen, die ausgeführt werden soll. Alle dynamischen Änderungen, die Sie vornehmen, werden am Ende des aktuellen Intervalls für eine zugeteilte Anforderung und mit dem ersten Intervall für neue Anforderungen wirksam.
Vorgehensweise
f Server,dpm,[IIOP=nnn|HTTP=nnn|HTTPS=nnn
| MDB=nnn | CRA=nnn | SIP=nnn | SIPS=nnn | OLA=nnn | INTERVAL=nnn
| dump_action=xxx | clear_all | reset_all]
- Der Platzhalter nnn gibt die Länge des Zeitintervalls in Sekunden für einen bestimmten Protokolltyp oder für eine CRA-Anforderung an. Der Wert für den Platzhalter nnn muss eine Ganzzahl von 0 bis 255 oder reset sein. Der Wert 0 bedeutet, dass das Protokoll kein Intervall hat und dass DPM für Anforderungen, die dieses Protokoll verwenden, inaktiviert ist. Der Wert reset bedeutet, dass die Steuerung des DPM-Intervalls an die WLM-Klassifikationsdatei zurückgegeben wird.
- Die gültigen Werte für xxx sind SVCDUMP, JAVACORE, HEAPDUMP, TRACEBACK, JAVATDUMP, NONE oder RESET. Der Wert RESET bedeutet, dass die Steuerung der Speicherauszugsaktion an die WLM-Klassifikationsdatei zurückgegeben wird.
- Ein im Parameter INTERVAL angegebener Wert setzt das DPM-Intervall für alle sechs Protokolle auf denselben Wert.
- Der Wert für "clear_all" setzt die Zeitintervalle für alle zugehörigen Anforderungsprotokolle auf 0 und die Speicherauszugsaktion auf Keine.
- Der Wert "reset_all" setzt alle DPM-Intervalle und den Parameter "dump_action" zurück. Die Steuerung der DPM-Intervalle und der Speicherauszugsaktion wird an die WLM-Klassifikationsdatei zurückgegeben.
Wenn Sie einen Wert ungleich null für zugehörige DPM-Protokolle angeben, aktivieren Sie diese Funktionalität damit automatisch für diese Protokolle. Wenn Sie DPM für bestimmte Protokolle inaktivieren möchten, setzen Sie den Parameter für dieses Protokoll auf 0. Wenn Sie DPM für alle zugehörigen DPM-Protokolle inaktivieren möchten, setzen Sie den Parameter "dump_action" auf NONE. Diese Einstellung überschreibt jeden Wert, der für den Parameter für ein bestimmtes Protokoll angegeben wurde.
Ergebnisse
Wenn DPM für ein Protokoll aktiv ist und Traceback-Daten nach Ablauf des Zeitintervalls erfasst werden, werden Informationen ähnlich den folgenden in Ihre Serverprotokolldatei geschrieben:
BossLog: { 0175} 2008/05/05 12:16:01.418 01 SYSTEM=SY1 SERVER=BBOS001
PID=0X00010144 TID=0X00000034 0XF6FAF20 c=./bbgrjtr.cpp at line:+885 ...
BBOJ0118I: ThreadDetails: ASID = 005B, TCB = 0X008CBE88, Request = fffff503,
Is JVM Blocked = false, Tried to interrupt = false, Given up = false,
Internal Work Thread = false, Hung Reason = Not Hung,
SR Dispatch Time = 2008/05/05 12:15:31.371625,
CTL Receive Time = 2008/05/05 12:15:31.366693,
CTL Queued to WLM Time = 2008/05/05 12:15:31.371328,
Details = , ODI Details = .JVM INTERRUPTIBLE THREAD, Monitor ACTIVE.
BossLog: { 0176} 2008/05/05 12:16:01.423 01 SYSTEM=SY1 SERVER=BBOS001 PID=0X00010144
TID=0X00000034 0XF6F9DE0 c=./bbgrjtr.cpp at line:+885 ...
BBOJ0117I: JAVA THREAD STACK TRACEBACK FOR THREAD WebSphere:ORB.thread.pool t=008cbe88:
Dispatch Progress Monitor
Traceback for thread WebSphere:ORB.thread.pool t=008cbe88:
com.ibm.ws390.orb.ClientDelegate.invokeRequestCFW(Native Method)
com.ibm.ws390.orb.ClientDelegate.commonInvoke(ClientDelegate.java:998)
com.ibm.ws390.orb.ClientDelegate.invoke(ClientDelegate.java:845)
org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:484)
com.ejb.test.hello.second._SayHelloSecondHome_Stub.create(_SayHelloSecondHome_Stub.java:207)
com.ejb.test.hello.first.SayHelloFirstBean.sayHelloOne(SayHelloFirstBean.java:76)
com.ejb.test.hello.first.EJSRemoteStatelessSayHelloFirst_67c1d243.
sayHelloOne(EJSRemoteStatelessSayHelloFirst_67c1d243.java:41)
Nächste Schritte
- Zeigen Sie die aktuellen DPM-Einstellungen an. Sie können den folgenden Befehl "display" verwenden,
wenn Sie die aktuellen Einstellungen für DPM überprüfen möchten:
f <varname>Server</varname>,display,dpm
Die folgende Nachricht wird als Antwort auf diesen Befehl angezeigt:
BBOO0361I DISPATCH PROGRESS MONITOR (DPM) SETTINGS: IIOP(000):HTTP(010):HTTPS(015) :MDB(000):SIP(020):SIPS(000):OLA(000),DUMP_ACTION (JAVATDUMP)
Ab Version 8.5.5.1 wird eine Nachricht ähnlich der folgenden Nachricht als Antwort auf diesen Befehl ausgegeben:BBOO0361I DISPATCH PROGRESS MONITOR (DPM) SETTINGS: IIOP(000):HTTP(000):HTTPS(015):MDB(000):SIP(020):SIPS(000):OLA(000):CRA(015) DUMP_ACTION(TRACEBACK) BBOO0188I END OF OUTPUT FOR COMMAND DISPLAY,DPM
- Ändern Sie die Speicherauszugsaktion, die DPM ausführen soll. Sie können den Befehl "modify"
oder die WebSphere-Variable "server_region_dpm_dump_action" verwenden, um die Speicherauszugsaktion
zu ändern, die DPM ausführen soll.
Wenn Sie den Befehl "modify" verwenden möchten, um die von DPM auszuführende Speicherauszugsaktion zu ändern, setzen Sie den folgenden Befehl mit der gewünschten Speicherauszugsaktion ab:
f server,dpm,dump_action=[SVCDUMP | JAVACORE | HEAPDUMP | TRACEBACK | JAVATDUMP | NONE ]
Wenn Sie die WebSphere-Variable "server_region_dpm_dump_action" zum Ändern der von DPM auszuführenden Speicherauszugsaktion verwenden möchten, führen Sie die folgenden Aktionen aus:- Klicken Sie in der Administrationskonsole auf .
- Wählen Sie den entsprechenden Knoten bzw. die entsprechende Zelle in der Liste verfügbarer Server, Knoten und Zellen aus, und klicken Sie anschließend auf .
- Geben Sie server_region_dpm_dump_action im Feld Name und SVCDUMP, JAVACORE, HEAPDUMP, TRACEBACK, JAVATDUMP oder NONE im Feld Wert an.