스레드 병목 현상 식별

스레드 보기는 스레드 병목 현상을 발견하기 위한 기본 보기입니다. 이는 각 프로그램 스레드의 활동 레코드를 표시하며 스레드 경합 및 교착 상태 식별을 도와줍니다.

전제조건: 스레드 데이터 수집

경합은 즉시 사용 가능하지 않은 자원을 스레드가 대기하는 경우에 발생합니다. 경합은 코드의 실행을 지연시키지만 시간이 지남에 따라 해결될 수 있습니다.

스레드가 두 번째 스레드가 잠근 자원을 대기 중이고 두 번째 스레드는 첫 번째 스레드가 잠근 자원을 대기 중인 경우 교착 상태가 발생합니다. 교착 상태에 세 개 이상의 스레드가 관련될 수 있습니다. 교착 상태는 자체적으로 해결될 수 없습니다. 이로 인해 종종 교착 상태가 있는 전체 어플리케이션 또는 부분이 정지합니다.

스레드 경합 및 교착 상태를 찾으려면 다음을 수행하십시오.

  1. 스레드 보기 표시: 스레드 분석 프로파일링 자원을 마우스 오른쪽 단추로 누르고 팝업 메뉴에서 열기 도구 > 스레드 보기를 선택하십시오.
  2. 스레드 보기에서 스레드들 간의 수직 화살표를 찾으십시오. 하나의 화살표는 스레드 경합을 표시합니다. 하나의 스레드는 다른 스레드가 잠금을 해제할 때까지 대기합니다. 여러 개의 화살표는 교착 상태를 표시할 수 있습니다. 다이아몬드 모양의 표시기는 스레드가 잠금을 대기 중이며 잠금을 보유하는 스레드를 판별할 수 없음을 표시합니다.
  3. 잠금을 대기 중인 스레드 세그먼트에서 커서를 일시정지하십시오. 그러면 잠금 이름을 지정하는 툴팁을 표시하며 잠금을 보유 중인 스레드를 식별합니다.

다음은 경합의 예입니다.

경합을 표시하는 수직 화살표가 있는 스레드 보기 창의 이미지

다음은 교착 상태의 예입니다.

교착 상태를 표시하는 수직 화살표의 쌍이 있는 스레드 보기 창의 이미지

주: 실행 시간 분석 프로파일링 유형으로 프로그램을 프로파일하면 스레드 데이터를 수집하고 표시할 수 있으나, 실행 중 및 정지 상태의 스레드 전용입니다. 병목 현상을 표시하려면 프로파일링 세트에 스레드 분석 프로파일링 유형을 포함해야 합니다.

다음 주제에서 스레드 보기 제어에 대한 지시사항을 제공합니다.

상위 주제: 스레드 병목 현상 발견

관련 태스크
스레드 병목 현상의 원인이 되는 메소드 식별

관련 참조
스레드 보기

이용약관 | 피드백
(C) Copyright IBM Corporation 2000, 2004. All Rights Reserved.