연습 1.2: 스레드 데이터 수집

시작하기 전에 연습 1.1: 필수 자원 가져오기를 완료해야 합니다.

시나리오: 조사할 프로그램이 잠깐 실행된 후 갑자기 정지합니다. 프로그램을 실행할 때마다 이런 현상이 발생합니다. 이러한 작동은 전형적인 스레드 교착 상태로, 이 프로그램의 스레드가 상호 작용하는 방법을 조사해야 합니다.

스레드 교착 상태를 찾으려면 먼저 스레드 데이터를 수집한 다음 프로파일링 및 로깅 Perspective에서 스레드 보기를 사용하여 데이터를 분석합니다.

스레드 데이터를 수집하면 어플리케이션 실패의 원인으로 교착 상태를 식별하거나 스레드를 제외시킬 수 있습니다.

스레드 데이터 수집 준비

스레드 데이터를 수집하려면 프로파일링 및 로깅 Perspective에 있어야 합니다. Perspective로 전환하려면 다음을 수행하십시오.

  1. Software Development Platform 메뉴 표시줄에서 창 > Perspective 열기 > 기타...를 선택하십시오. Perspective 선택 대화 상자가 열립니다.
  2. 대화 상자의 왼쪽 하단에서 모두 표시를 누르십시오. 선택란이 선택되어 표시됩니다.
  3. Perspective 목록에서 프로파일링 및 로깅을 선택하고 확인을 누르십시오.
  4. 인에이블먼트 확인 대화 상자가 열리면 기능 항상 사용 및 이 메시지를 다시 표시 안함을 누른 다음 확인을 누르십시오.
  5. Software Development Platform이 프로파일링 및 로깅 Perspective로 전환됩니다.

philosopher 어플리케이션에 대한 스레드 데이터 수집

데이터를 수집하려면 다음을 수행하십시오.

  1. Software Development Platform 메뉴 표시줄에서 창 > 보기 표시 > 콘솔을 선택하여 콘솔 보기를 여십시오. 콘솔 보기를 통해 처리되는 대로 어플리케이션을 따라갈 수 있습니다.
  2. 프로파일링 형상을 작성하려면 다음을 수행하십시오.
    1. 메뉴 표시줄에서 실행 > 프로파일...을 선택하십시오. 프로파일 대화 상자가 열립니다.
    2. 형상 목록에서 Java 어플리케이션 항목을 두 번 누르십시오. New_configuration 항목이 표시됩니다.
    3. 이름 필드에 PhilosopherThreads를 입력하십시오.
    4. 기본 탭에서 philosopher가 프로젝트 필드에 입력되어 있지 않으면 다음을 수행하십시오.
      1. 프로젝트 필드의 옆의 찾아보기를 누르십시오. 프로젝트 선택 대화 상자가 열립니다.
      2. philosopher를 선택한 후 확인을 누르십시오.
    5. 기본 클래스 필드의 옆의 검색을 누르십시오.
    6. 기본 유형 선택 대화 상자에서 MaitreDHote를 선택한 후 확인을 누르십시오.
    7. IBM JVM(Java Virtual Machine)을 사용할 경우 다음을 수행하십시오.
      1. 프로파일 대화 상자에서 인수 탭을 누르십시오.
      2. VM 인수 아래에 -Xj9를 입력하여 올바른 JVM 버전을 지정하십시오.
    8. 프로파일 대화 상자에서 프로파일링 탭을 누르십시오.
    9. 개요 하위 탭에서 스레드 분석 프로파일링 세트의 선택란을 선택하십시오. (프로파일링 세트(profiling set)가 실행하기 위해 수집할 프로파일링 데이터의 유형을 정의합니다.)
  3. 프로파일을 누르십시오. 어플리케이션이 실행되고 디스플레이가 다음과 같이 변경됩니다.

어플리케이션이 특정 위치에 도달하면 처리를 중지합니다. 출력이 다음과 같이 표시됩니다.

. . .
philo#3: waiting for right fork#3
philo#2: waiting for right fork#2
philo#1: waiting for right fork#1
philo#0: waiting for right fork#0
HeadWaiter: all philosophers are locked for 6 times.
exiting application.

이것은 프로그램이 중지한 위치입니다. 그러나 이 실행과 관련하여 스레드 데이터를 수집했으므로 중지한 이유를 분석할 수 있습니다.

데이터를 수집할 수 없는 경우

프로파일링 데이터를 수집하려면 에이전트 제어기가 실행 중이어야 합니다. 에이전트 제어기를 사용할 수 없다는 메시지를 받은 경우 에이전트 제어기가 설치되었는지 확인하고 수동으로 시작한 후 다시 시도하십시오. 지시사항은 설치 안내서를 참조하십시오. 설치 안내서는 런치패드를 사용하여 액세스하거나 제품 CD의 disk1/install.html에서 찾을 수 있습니다.

데이터를 수집했으면 연습 1.3: 스레드 병목현상 식별을 시작할 수 있습니다.

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