시작 시 프로파일링 설정 설정하기
프로파일링 에이전트가 녹화를 시작하기 전에 프로파일링 설정이 설정되어야 합니다. 이는 JProfiler UI에 연결할 때 발생합니다. 특정 상황에서는 프로파일링 에이전트가 시작 시 프로파일링 설정을 알아야 할 필요가 있습니다. 주요 사용 사례는 다음과 같습니다:
오프라인 프로파일링
트리거 또는 API를 사용하여 데이터를 기록하고 스냅샷을 저장합니다. 이 모드에서는 JProfiler GUI가 연결할 수 없습니다. 자세한 내용은 오프라인 프로파일링에 대한 도움말 주제를 참조하십시오.헤드리스 머신에서 jpcontroller로 프로파일링
명령줄 유틸리티 jpcontroller를 사용하여 JProfiler GUI 대신 데이터를 기록하고 스냅샷을 상호작용적으로 또는 비상호작용적 명령 파일로 저장할 수 있습니다. 그러나 jpcontroller는 프로파일링 설정을 구성할 수 있는 기능이 없으므로 사전에 설정해야 합니다.이전 OpenJ9 및 IBM JVM에 원격 attach
8u281, 11.0.11 및 Java 17 이전의 OpenJ9 및 IBM JVM은 프로파일된 프로세스의 안정성을 위협하지 않고 클래스를 재정의할 수 있는 기능이 없으므로 시작 시 프로파일링 설정을 설정해야 합니다. JProfiler의 원격 통합 마법사의 "Profiled JVM" 단계에서 JVM의 유형을 묻고, Older OpenJ9 and IBM JVMs를 선택하면 마법사가 아래에서 논의된 옵션을 추가합니다.
일반적으로 시작 시 프로파일링 설정을 설정하는 것이 가장 효율적인 운영 모드입니다. 이는 수행해야 할 클래스 재정의의 수가 가장 적기 때문입니다. 편리함이 줄어드는 것이 문제가 되지 않는다면, 모든 종류의 프로파일링 세션에 사용할 수 있습니다.
시작 시 프로파일링 설정 설정하기
통합 마법사를 사용하는 경우, "Local or Remote" 단계에서 원격 컴퓨터에서 옵션을 선택한 다음 "Config synchronization" 단계에서 시작 시 구성 적용 옵션을 선택하십시오. 그러면 마법사가 다음 단락에서 논의된 것과 동일한 옵션을 추가합니다.
프로파일링 에이전트를 로드하기 위해 시작 스크립트에 -agentpath
VM 매개변수를 추가한 경우, 프로파일링 설정은 다음을 추가하여 설정할 수 있습니다:
,config=<구성 파일 경로>,id=<세션 ID>
-agentpath
매개변수에 추가합니다. 완전한 매개변수는 다음과 같습니다:
-agentpath:/path/to/libjprofilerti.so=port=8849,nowait,config=/path/to/config,id=123
프로세스가 시작된 후 프로파일링 에이전트를 로드하기 위해 을 사용하는 경우, 상호작용적 실행에서 오프라인 모드를 선택하고 구성
및 ID를 지정할 수 있습니다. 또는 비상호작용적 실행을 위해 jpenable
--offline
, --config
및 --id
인수를 전달하십시오.
구성 파일 준비하기
참조된 구성 파일은 현재 머신의 JProfiler 설치의 구성 파일일 수 있으며, 이 경우 구성 매개변수를 전혀 지정할 필요가 없습니다. JProfiler 구성 파일은
$HOME/.jprofiler15/jprofiler_config.xml
또는
%USERPROFILE%\.jprofiler15\jprofiler_config.xml
에 위치하며 -agentlib
VM 매개변수의
config
옵션에 대한 기본값입니다.
종종 자동화된 프로파일링은 다른 머신에서 수행되어야 하며 로컬 JProfiler 구성 파일을 참조할 수 없습니다. 이 경우 로컬 머신의 JProfiler UI에서 프로파일링 설정으로 세션을 준비하고 세션→세션 설정 내보내기를 통해 내보내고 JProfiler가 실행 중인 머신으로 전송할 수 있습니다.
세션 ID는 세션 설정 대화 상자의 "애플리케이션 설정" 탭의 오른쪽 상단 모서리에서 볼 수 있습니다 (아래 스크린샷 참조). 내보낸 파일에 하나의 세션만 포함된 경우 id
매개변수를 지정할 필요가 없습니다.
구성 파일 동기화하기
초기 설정을 완료한 후, 향후 프로파일링 실행을 위해 프로파일링 설정을 조정하고자 할 수 있습니다. 이를 위해서는 구성 파일을 수정할 때마다 원격 머신에 복사해야 합니다.
JProfiler의 원격 세션에는 이 프로세스를 자동화할 수 있는 "Config synchronization" 기능이 있습니다.
세션이 SSH를 통해 시작된 경우, SSH를 통해 구성 파일을 원격 머신으로 직접 복사할 수 있습니다. 그렇지 않은 경우, 여전히 구성 파일을 원격 머신에 마운트될 수 있는 로컬 디렉토리에 복사할 수 있습니다. 마지막으로, 구성 파일을 다른 방법으로 복사하기 위해 임의의 명령을 실행할 수 있습니다.