![[z/OS]](../images/ngzos.gif)
監視分派要求
請利用分派進度監視器 (DPM),按照指定的時間間隔來收集已分派要求的相關資料(如果經歷這個時間間隔之後,那個已分派的要求仍在處理中)。 收集資料之後,會開始新的時間間隔。 如同第一個時間間隔,經歷這個時間間隔之後,會再次收集資料。 只要 DPM 在作用中,且要求仍在服務者中執行,則在每個時間間隔結束時,仍會繼續收集資料。
開始之前
- 確定要針對哪種通訊協定類型來監視要求。 您可以配置 DPM 來收集使用 IIOP、HTTP、HTTPS、MDB、SIP 或 SIPS 通訊協定之要求的資料。 您也可以配置 DPM 收集來自 CRA,且透過控制器引導進入服務者佇列之要求的資料。
- 確定您要 DPM 收集各要求之相關資料的頻率。 例如,您可能只想收集長時間執行之要求的相關資料。 在這個狀況下,請設定間隔的時間長度,使它足以防止收集快速完成之要求的相關資料。
- 確定在每個時間間隔結束時,您要 DPM 收集的資料類型。 您可以配置 DPM 來執行 SVC 傾出、Java™ 核心傾出、資料堆傾出、Java Tdump,或收集追溯資料。
關於這項作業
對於要求在使用的通訊協定(如 HTTP 或 IIOP),如果 DPM 不在作用中,當要求分派給服務者時,DPM 不會監視這個要求。 即使您在分派那個要求之後發出 modify 指令來動態啟用這個通訊協定的 DPM,DPM 仍不會監視這個要求。 對通訊協定啟用 DPM 之後,DPM 只會監視使用那個通訊協定的新要求。
DPM 間隔和傾出動作最初是從 WLM 分類檔中取得。 修改 DPM 指令會置換整個伺服器的這些值。 重設 DPM 間隔或傾出動作會關閉置換功能,以便從 WLM 分類檔中,再次取得重設參數的值。
對於要求正在使用的通訊協定,如果 DPM 是在作用中,在服務者中分派這個要求之前,您可以進行動態變更。 這些動態變更包括變更指定的時間間隔,以及變更要執行的傾出動作。 您進行的任何動態變更,都是在已分派之要求的現行間隔結束,且從新要求的第一個間隔開始時生效。
程序
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]
- nnn 位置保留元指定特定通訊協定類型或 CRA 要求的時間間隔長度(秒)。 nnn 位置保留元的值必須是 0 - 255 的整數,或是 reset。 0 值表示通訊協定沒有間隔,且使用這個通訊協定的要求會停用 DPM。 reset 值表示將 DPM 間隔的控制權還給 WLM 分類檔。
- xxx 位置保留元的有效值如下:SVCDUMP、JAVACORE、HEAPDUMP、TRACEBACK、JAVATDUMP、NONE 或 RESET。 RESET 值表示將傾出動作的控制權還給 WLM 分類檔。
- 在 INTERVAL 參數上指定的值會將六個通訊協定的 DPM 間隔全部設為相同的值。
- clear_all 值會將所有相關要求通訊協定的時間間隔設為 0,將傾出動作設為 None。
- reset_all 值會重設所有 DPM 間隔和 dump_action 參數。 DPM 間隔和傾出動作的控制權會還給 WLM 分類檔。
當您指定一或多個與 DPM 相關的通訊協定的非零值時,您會自動啟用這些通訊協定的這個功能。 如果要停用特定通訊協定的 DPM,請將這個通訊協定的參數設為 0。 如果要停用與 DPM 相關的所有通訊協定的 DPM,請將 dump_action 參數設為 NONE。 這個設定會置換特定通訊協定的參數所指定的任何值。
結果
當通訊協定的 DPM 在作用中,在經歷間隔之後,會收集追溯資料,且會如同下列範例,將資訊寫入您的伺服器日誌檔中:
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)
下一步
- 檢視現行 DPM 設定。
如果您想檢查 DPM 的現行設定,您可以發出下列 display 指令:
f <varname>server</varname>,display,dpm
在這個指令的回應中,會顯示下列訊息:
BBOO0361I DISPATCH PROGRESS MONITOR (DPM) SETTINGS: IIOP(000):HTTP(010):HTTPS(015) :MDB(000):SIP(020):SIPS(000):OLA(000),DUMP_ACTION (JAVATDUMP)
從 8.5.5.1 版開始,在這個指令的回應中,顯示的訊息會類似下列訊息: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
- 修改您想要 DPM 執行的傾出動作。
您可以利用 modify 指令或 server_region_dpm_dump_action WebSphere® 變數來修改您想要 DPM 執行的傾出動作。
如果要利用 modify 指令來修改您想要 DPM 執行的傾出動作,請發出下列指令並指定適當的傾出動作:
f server,dpm,dump_action=[SVCDUMP | JAVACORE | HEAPDUMP | TRACEBACK | JAVATDUMP | NONE ]
如果要利用 server_region_dpm_dump_action WebSphere 變數來修改您想要 DPM 執行的傾出動作,請完成下列動作:- 在「管理主控台」中,按一下 。
- 從可用的伺服器、節點和 Cell 清單中,選取適當的節點或 Cell,然後按一下 。
- 在名稱欄位中指定 server_region_dpm_dump_action,在值欄位中指定 SVCDUMP、JAVACORE、HEAPDUMP、TRACEBACK、JAVATDUMP 或 NONE。