하위 시스템 지원
SupportSubsystem은 ThingWorx 환경의 문제를 진단하는 데 사용할 수 있는 도구를 지원합니다. 이 하위 시스템을 사용하여 사용자 환경에서 스택 추적 및 힙 덤프 실행을 구성할 수 있습니다. ThingWorx 9.0.11, 9.1.6 및 9.2.2 이상에서 지원 하위 시스템은 기본적으로 활성화되어 있으며 중지 또는 비활성화할 수 없습니다.
이 하위 시스템은 더 이상 지원되지 않는 PTC 지원 도구 확장을 대체합니다.
서비스
하위 시스템 지원 관련 서비스
설명
DeleteStacktraceFiles
하위 시스템 지원에서 생성하는 스택 추적 파일과 동일한 형식의 모든 파일을 SupportRepository에서 삭제합니다. 이 서비스를 사용하면 불필요한 이전 스택 추적 파일을 제거하여 새 스택 추적이 수행되도록 할 수 있습니다.
DisableHeapDumps
Watchdog 설정 구성 테이블의 힙 덤프 사용 확인란을 false로 설정합니다. 힙 덤프 사용을 false로 설정하면 DumpHeapDumpHeapAndAllThreads 서비스를 실행할 수 없습니다.
DumpAllThreads
서비스를 실행하는 플랫폼에서 모든 스레드의 스택 추적을 수집합니다. 클러스터 환경에서는 요청을 수신하는 플랫폼만 스택 추적을 수집합니다. 스택 추적이 수집되면 SupportRepositorystacktrace_<platform-id>라는 파일이 생성됩니다. 여기서 <platform-id>는 해당 플랫폼의 platform-settings.json 파일에 있는 플랫폼 ID입니다. 동일한 플랫폼에서 서비스가 다시 호출되면 새 스택 추적이 수집되고 기존 파일의 끝에 추가됩니다. SupportRepository의 하드 디스크 공간이 5% 미만이면 DumpAllThreads가 실행되지 않습니다.
DumpHeap
플랫폼에서 서비스를 실행하는 힙 덤프를 수집합니다. Watchdog 설정 구성의 힙 덤프 사용 확인란이 false(기본값)로 설정되어 있거나 EnableHeapDumps 서비스가 호출되지 않은 경우에는 힙 덤프가 수행되지 않습니다.
클러스터 환경에서는 서비스 호출을 수신하는 플랫폼만 힙 덤프를 수집합니다. 힙 덤프가 수집되면 SupportRepositoryheapdump_<platform-id>_<타임스탬프>.hprof라는 파일이 생성됩니다. 여기서 <platform-id>platform-settings.json 파일에서 해당 플랫폼에 지정된 플랫폼 ID이고 <타임스탬프>는 현재 시스템 시간(밀리초)입니다. DumpHeap은 이 서비스가 호출될 때마다 새 힙 덤프 파일을 생성합니다. SupportRepository의 하드 디스크 공간이 5% 미만이면 DumpHeap가 실행되지 않습니다.
실행 중인 플랫폼에서 힙을 덤프하는 데 사용되는 메커니즘은 존재하지 않거나 모든 JVM에서 지원하는 JVM의 특정 메커니즘에 의존합니다. JVM에서 힙 덤프를 수행할 수 없는 경우 오류 메시지가 표시됩니다.
DumpHeapAndAllThreads
단일 서비스 호출에서 DumpHeapDumpAllThreads 서비스를 수행합니다. 결과적으로 서비스를 호출한 플랫폼의 기존 스택 추적 파일에 고유한 타임스탬프 및 추가 스택 추적 정보가 있는 힙 덤프 파일이 생성됩니다. 스택 추적 파일이 없으면 생성됩니다. 힙 덤프 사용 구성 확인란이 false로 설정되어 있으면 이 서비스가 힙 덤프 또는 스택 추적을 수행하지 않습니다.
EnableHeapDumps
Watchdog 설정 구성 테이블의 힙 덤프 사용 확인란을 true로 설정합니다. 기본값은 false입니다.
활성화하면 DumpHeapDumpHeapAndAllThreads가 여러 번 호출될 수 있습니다.
GetRepositoryFreePercent
SupportRepository의 사용 가능한 디스크 공간 비율을 나타내는 NUMBER를 반환합니다. 이 서비스는 다른 서비스에서 힙 덤프 및 스택 추적을 계속 수행해야 하는지 아니면 남아 있는 디스크 공간이 충분하지 않은지 여부를 결정하는 데 사용됩니다.
GetSupportFileLinks
저장소에서 생성된 파일을 다운로드하기 위한 링크를 포함하여 모든 힙 덤프 및 스택 추적에 대한 정보가 포함된 인포테이블을 반환합니다. 이 서비스는 GetFileListingWithLinks와 정확히 동일하게 작동합니다. 여기서 제공된 이름 마스크는 모든 힙 덤프 및 스택 추적 파일을 검색합니다.
GetWatchdogInterval
Watchdog 간격 구성 값을 검색하며, INTEGER 기본 유형으로 1초 이상입니다.
SetWatchdogInterval
Watchdog 설정 구성 테이블에서 Watchdog 간격 구성 값을 변경합니다. 이 구성 값은 DiagnosticWatchdog이 실행될 때 수행되는 스택 추적의 간격을 변경합니다. 간격 값은 INTEGER 기본 유형으로 1초 이상일 수 있습니다.
StartDiagnosticWatchdog
클러스터의 모든 플랫폼에서 백그라운드 프로세스를 시작합니다. 이 프로세스는 지정된 간격으로 각 플랫폼에 대한 스택 추적을 지속적으로 생성합니다. 이 파일은 SupportRepository에서 생성되고 이름은 watchdog-stacktrace_<platform-id>입니다. 여기서 <platform-id>는 해당 platform-settings.json 파일에서 해당 플랫폼에 지정된 플랫폼 ID입니다. DiagnosticWatchdog은 모든 플랫폼에서 실행되거나 아무 플랫폼에서도 실행되지 않습니다.
Watchdog 간격 필드에 또는 SetWatchdogInterval 서비스를 사용하여 스택 추적 간격(초)을 설정할 수 있습니다.
StartDiagnosticWatchdog 서비스는 SupportRepositoryrunstacktrace 파일도 생성합니다. DiagnosticWatchdog은 해당 파일이 존재하는 한 스택 추적을 수집합니다. 해당 파일의 이름이 바뀌거나 제거된 경우 DiagnosticWatchdog이 유휴 상태로 유지됩니다. DiagnosticWatchdog가 활성화되어 있는 동안 runstacktrace 파일이 다시 도입되면 스택 추적이 설정된 간격으로 다시 시작됩니다. DiagnosticWatchdog가 비활성화되면 runstacktrace 파일이 삭제됩니다. DiagnosticWatchdogSupportRepository에 남아 있는 하드 디스크 공간이 5% 미만일 경우에도 힙 덤프 또는 스택 추적을 수집하지 않습니다.
플랫폼 또는 클러스터가 시작되지 않고 하위 시스템 지원에 액세스할 수 없는 경우 플랫폼이 시작될 때 또는 클러스터에 들어가는 첫 번째 플랫폼이 시작될 때 DiagnosticWatchdog을 강제로 활성화할 수 있습니다. 이렇게 하려면 ThingworxStorage/repositories 디렉터리에 SupportRepository 디렉터리가 없는 경우 해당 디렉터리를 만듭니다. 그런 다음 확장자 및 콘텐츠가 필요 없는 runstacktrace라는 새 파일을 생성합니다. 플랫폼을 시작합니다. 플랫폼이 파일을 감지하고 Watchdog 사용 확인란을 자동으로 true로 설정하고 DiagnosticWatchdog을 실행합니다.
* 
ThingWorx 9.0.10, 9.1.5, 9.2.1 및 이전 버전에서는 Watchdog 설정 구성 테이블의 Watchdog 사용 확인란을 true로 설정하여 DiagnosticWatchdog를 활성화할 수 있습니다.
StopDiagnosticWatchdog
Watchdog 설정 구성 테이블의 Watchdog 사용 확인란을 false로 설정합니다. 이 설정이 false이면 DiagnosticWatchdog가 종료되고 모든 자동 스택 추적 수집이 중지됩니다. 또한 runwatchdog 파일이 제거됩니다. 기존 힙 덤프 또는 스택 추적 파일은 삭제되지 않습니다.
CreateRunStackTraceFile
지원 하위 시스템 파일 저장소에 runstacktrace 파일을 생성합니다.
* 
이 서비스는 ThingWorx 9.0.11, 9.1.6 및 9.2.2 이상에서 사용할 수 있습니다.
RemoveRunStackTraceFile
지원 하위 시스템 파일 저장소에서 runstacktrace 파일을 제거합니다.
* 
이 서비스는 ThingWorx 9.0.11, 9.1.6 및 9.2.2 이상에서 사용할 수 있습니다.
구성
Watchdog 설정
기본 유형
기본값
설명
Watchdog 사용
BOOLEAN
true
기본적으로 비활성화되어 있습니다.
* 
ThingWorx 9.0.10, 9.1.5, 9.2.1 및 이전 버전에서 이 설정은 기본적으로 false입니다.
Watchdog 간격
INTEGER
30
간격 값을 1초 이상으로 설정할 수 있습니다.
힙 덤프 사용
BOOLEAN
false
기본적으로 비활성화되어 있습니다.
도움이 되셨나요?