![[z/OS]](../images/ngzos.gif)
제한시간 조건: 진단 데이터 분석
다음 지침에서는 SVC 덤프에서 어떤 제한시간 조건이 발생했는지 쉽게 판별할 수 있는 진단 데이터를 찾는 방법을 설명합니다.
우선 EC3 이상 종료가 있는 태스크를 찾아야 합니다.
- 다음 명령을 입력하여 제한시간을 초과한 하위(servant) 영역에 대한 TCB 요약을
형식화하십시오.
ip summ format asid(x' address ')
여기서 address는 하위(servant) 요소의 주소 공간 ID입니다.
EC3 완료 코드를 가지고 있었던 TCB를 찾으십시오. 요약 형식으로 나열된 네 번째 TCB(세 개의 MVS™ TCB 다음의 첫 번째 TCB)인 "main" 스레드의 완료 코드 EC3은 무시하십시오. WebSphere® 기본 스레드는 BBO_BOA::impl_is_ready에서 대기 중인 스레드입니다. 이 스레드에서는 어떤 애플리케이션 요청도 디스패치되지 않으므로 제한시간을 초과할 것이 전혀 없습니다. 제한시간 처리 중 서버 영역에 대한 기본 스레드도 EC3로 이상 종료됩니다. 주소 공간을 가져오는 메커니즘에 문제가 있기 때문입니다. 따라서 EC3 완료 코드 이유가 기본 스레드에 낱날 수 있습니다. 이는 제한시간 초과 원인이 아니라 단지 제한시간 처리 결과입니다.
- TCB 요약에 EC3 완료 코드가 없으면 systrace를 찾으십시오.
비교할 다른 시간소인이 GMT 시간이므로 GMT 시간으로 systrace를
형식화하십시오. GMT 시간을 형식화하려면 다음 명령을 입력하십시오.
ip systrace all time(gmt)
systrace는 약간의 시간만 관리할 수 있으므로 어느 경우에서도 systrace에서 EC3 이상 종료를 보지 못할 수도 있습니다.
- EC3 이상 종료가 발생한 시가를 보기 위해 syslog나 ip verbx mtrace를 보려고 할 수도 있습니다. 제한시간 값에 도달한 GMT 시간인 요청의 'end' 시간을 판별하기 위해 이 시간이 필요하지는 않습니다.
EC3 이상 종료와 연관된 이유 코드를 확인하여
적용되는 제한시간 값을 판별할 수 있습니다.
이유 코드 | 설명 |
---|---|
04130002 | 트랜잭션 제한시간 초과 발생으로 제어기가 ABTERM을 발행했습니다. 디스패치 하의 코드가 단단한 루프 상태에 있었을 수 있습니다. |
04130003 | 제어기가 제어기 요청을 하위 영역으로 이동하는 중지되어 이 하위 영역에 대해 ABTERM을 발행했습니다. 대상 요청이 제한시간을 초과했으나 하위 영역은 현재 요청을 복사 중이었습니다. 제어기는 ABTERM을 발행하여 조치를 취하기 전에 정규 간격으로 진행 상태에 대해 하위 영역을 검사했습니다. |
04130004 | WLM 큐 제한시간 초과 발생으로 제어기가 이 하위 영역에 대해 ABTERM을 발행했습니다. 디스패치 하의 코드가 단단한 루프 상태에 있었을 수 있습니다. |
04130005 | 트랜잭션 제한시간 초과 발생으로 제어기가 ABTERM을 발행했습니다. 트랜잭션은 제한시간을 초과했으나 현재 트랜잭션과 연관되는 어떤 요청도 발견되지 않았습니다. 트랜잭션과 연관되는 하위 영역은 종료됩니다. |
04130006 | 제어기 스레드가 요청 처리 중 문제점을 발견했습니다. 요청은 WLM에 대해 큐에 넣어지고 하위 영역과 연관되었습니다. 요청 정리를 완료하려면 연관된 하위 영역을 종료해야 합니다. |
04130007 | HTTP OUTPUT 제한시간 초과 발생으로 제어기가 이 하위 영역에 대해 ABTERM을 발행했습니다. 디스패치 하의 코드가 단단한 루프 상태에 있었을 수 있습니다. |
메소드 이름을 찾아 메소드가
httpRequest,
httpsRequest,
DispatchbyURI
또는
다른 메소드인지 판별할 수 있습니다. 요청이
특별히 HTTP 또는 HTTPS 전송 핸들러에서 수신되는 요청이 아니면,
protocol_http_output_timeout(HTTP) 및
protocol_https_timeout_output(HTTPS) 제한시간 값은 인수가 아닙니다. 즉, 요청이
DispatchbyURI메소드일 경우, 요청은 RMI/IIOP 프로토콜을 통해 수신되므로
protocol_http변수는 적용되지 않습니다.
이 경우, CEEDUMP 또는 NTHREADS 옵션과 함께 IPCS verbexit LEDATA를 사용하여 해당 요청에 대한 스택 추적을 확보할 수 있습니다.