IBM®
메인 컨텐츠로 가기
    Korea [국가변경]    이용약관
 
 
   
        제품    서비스 & 솔루션    고객지원 & 다운로드    회원 서비스    
메인 컨텐츠로 가기

한국 developerWorks  >  오픈 소스 | 자바  >

이클립스 테스트 & 성능 개선 도구 플랫폼, Part 1: 애플리케이션 테스트, 프로파일, 모니터링 (한글)

developerWorks
Go to the previous page13 페이지 중 9 페이지Go to the next page

문서 옵션

제안 및 의견
피드백

튜토리얼 평가

이 컨텐츠를 개선하기 위한 도움을 주십시오.


로컬 자바 애플리케이션에서 TPTP 사용하기

이클립스 워크벤치를 통해 자바 애플리케이션 프로파일링을 구축하고, 실행하는 것 외에도 로컬 머신에서 이미 실행중인 자바 애플리케이션을 프로파일링할 수도 있다(여기서 원격 애플리케이션에 대한 프로파일을 다루지는 않지만, 원격 머신에 대한 프로파일링 또한 가능하다). TPTP를 통해 프로세스에 attach할 수도 있다. 프로세스에 어태치할 때, 여태까지 배운 메모리 할당을 찾는 방법과 메모리를 들춰 보는(peek) 도구를 모두 사용할 수 있다.

로컬 자바 애플리케이션 어태치

로컬 자바 애플리케이션을 어태치하기 위해 다음 과정을 따라 하자.

  1. Profiling Monitor 뷰에서 현재 실행중인 모든 프로세스를 종료하고, 삭제하자.
  2. 커맨드 창을 열고, JRE를 참조하는 PATHJAVA_HOME 환경 변수가 제대로 돼 있는지 확인하자.
  3. TPTP 라이브러리에 포함되어 있는 LD_LIBRARY_PATH를 확인하자. 현재 테스트 시스템에서는 다음과 같이 환경 변수 값을 확인할 수 있었다(여러분이 사용하는 경로 이름과 디렉터리 이름은 다를 수 있으며, 이 변수는 시스템 환경에 종속된다).
    % printenv
    .
    PATH=/bin:/usr/bin:/usr/X11R6/bin:/home/\
    mstreicher/java/jdk/bin
    JAVA_HOME=/home/mstreicher/java/jdk
    JAVA_DIR=/home/mstreicher/java
    LD_LIBRARY_PATH=/home/mstreicher/java/tptpd/lib:
    

  4. TPTP 에이전트 컨트롤러가 현재 실행중인지 확인하자. 에이전트 컨트롤러가 포함되어 있는 디렉터리로 이동한 다음, 데몬을 중지하고 다시 시작하자.
    % cd $JAVA_DIR/tptpd/bin
    % ./RAStop.sh
    RAServer stopped, pid = 3163
    RAServer stopped, pid = 3164
    .
    RAServer stopped, pid = 18108
    % ./RAStart.sh
    Starting Agent Controller
    RAServer started successfully
    

  5. 각각의 factory 애플리케이션을 별도의 독립적인 자바 애플리케이션으로 실행하자.
    • 예제 애플리케이션을 포함하고 있는 작업 디렉터리로 변경하자. 아마도 $HOME/workspace/ToyMaker일 것이다. 이 디렉터리 내에 SpaceShipToy.java와 이 자바 파일의 .class 파일을 포함하고 있는 example이란 이름의 디렉터리가 보일 것이다.
    • 현재 작업 디렉터리에서, CLASSPATH.("점", dot)을 추가하자.
      % cd $HOME/workspace/Toy Maker
      % ls -F
      example
      % export CLASSPATH=.:$CLASSPATH
      

  6. -XrunpiAgent:server=enabled 옵션을 추가해서 TPTP 에이전트 컨트롤러를 사용해 애플리케이션을 실행하자. enabled 모드에서는 자바 애플리케이션이 일반적으로 시작되고, 컨트롤러가 백그라운드에서 실행된다(어태치될 때까지 애플리케이션이 실행되지 않는 것을 선호한다면, controlled 모드를 사용하라).
    % java -XrunpiAgent:server=enabled example/SpaceShipToy
    

  7. 이클립스를 실행하고, TPTP Profile 버튼에 있는 작은 화살표를 클릭하자. 왼쪽 리스트에 있는 Profile...을 선택하고, Attach - Java Process를 더블 클릭하자.
  8. 다음 화면에서 Name 필드에 Toys를 입력하고, host로는 localhost를 선택하자. 다음으로 Apply를 클릭하자.
  9. 그림 21처럼, Agents 탭을 클릭해 agent를 선택하자.


    그림 21. 어태치를 위한 agent 선택하기
    어태치를 위한 에이전트 선택


    화면에 나온 agent를 클릭한 다음(다른 애플리케이션이나 프로세스가 프로파일링되지 않는다면, 적어도 지금은 agent가 하나뿐일 것이다) > 를 클릭하자. 변경 사항을 저장하기 위해 Apply를 다시 클릭하자.

  10. Profiling 탭을 선택하고, Profiling set을 지정함으로써 우리가 수집하길 원하는 데이터를 선택하자. All을 선택할 수도 있고, 이전에 만들었던 것 중에서 선택할 수도 있다.
  11. Apply를 클릭한 다음, Profile을 클릭하자. 이클립스는 Profiling and Logging perspective로 perspective를 변경할 것이다.
  12. 대부분의 시스템에서는 그림 22처럼 창이 뜰 것이다.


    프로파일링 리마인더
    프로파일링 리마인더


    이 경고는 일반적이며, 프로세스에 어태치하기는 했지만, 사용할 때는 반드시 모니터링을 수동으로 해야 한다고 상기시켜 주는 역할을 한다. 모니터링을 시작하기 위해서는 새로 실행된 프로파일 프로세스에서 마우스 오른쪽 버튼을 클릭하고, Start monitoring을 선택하자.

  13. 커맨드 창으로 돌아와 애플리케이션을 다뤄보자. 다시 실행중인 애플리케이션을 살펴보기 위해 이클립스로 돌아가자. 애플리케이션을 종료할 때는, Terminate Process 버튼을 클릭하자(그림 23).


    그림 23. Terminate Process 버튼
    Terminate Process 버튼


    해당 프로세스가 커맨드 창에서 삭제되는 것을 볼 수 있다.

    % java -XrunpiAgent:server=enabled example/SpaceShipToy
    .
    Stage complete.
    Start stage...
    Stage complete.
    Start stage...
    Stage complete.
    zsh: killed     java -XrunpiAgent:server=enabled example/SpaceShipToy
    %
    




위로



Go to the previous page13 페이지 중 9 페이지Go to the next page
    IBM 소개 개인정보 보호정책 문의