Windows Server 2016에서 jMeter ServerAgent 충돌
JMeter 및 Perfmon 플러그인을 사용하여 .NET 애플리케이션 테스트를로드하고 있습니다. Perfmon ServerAgent를 실행하여 Windows Server 2008 R2 (앱에 사용됨) 및 Windows Server 2016 R2 (SQL Server 2016에 사용됨)에서 CPU 및 메모리 메트릭을 수집하고 있습니다. ServerAgent는 2008 R2에서 제대로 작동하지만 JMeter가 시작 되 자마자 2016 R2의 ServerAgent가 충돌합니다. 두 서버 모두 동일한 버전의 JRE 8을 실행합니다.
충돌 로그 :
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000010014ed4, pid=6340, tid=0x000000000000214c
#
# JRE version: Java(TM) SE Runtime Environment (8.0_261-b12) (build 1.8.0_261-b12)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.261-b12 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C [sigar-amd64-winnt.dll+0x14ed4]
#
아래는 지금까지 시도 된 솔루션이며 운이 없습니다.
PerMon은 서버에서 실행 중이며 CPU 및 메모리 사용량을 캡처합니다.
포트 또는 네트워크 트래픽에는 문제가 없습니다. 서버 에이전트가 두 서버의 포트 4444에서 요청을 수신하고 있습니다. 충돌 후 JMeter는 서버 에이전트에 연결할 수 없으므로 시간 초과 오류를 표시합니다.
DEP를 다음으로 설정하여 비활성화 해 보았습니다. 필수 Windows 프로그램 및 서비스에 대해서만 DEP 켜기
관리자 권한으로 ServerAgent를 실행해도 효과가 없습니다. 여전히 충돌합니다.
호환성 모드에서 ServerAgent를 실행해도 효과가 없습니다. 여전히 충돌합니다.
답변
그것은 같은 소리 SIGAR 버그 (당신이 가진 문제를 조사하려는 경우가 아니면 불행하게도 당신이 그것으로 할 수있는 일은 없다 sigar-amd64-winnt.dll고정 버전으로 JMeter를 성능 모니터링 플러그인 업스트림 및 업데이트 SIGAR에 기여, 솔루션 구현이)
그동안 SSHMon Samples Collector 를 해결 방법으로 고려할 수 있습니다. 자세한 내용 은 JMeter의 SSHMon Listener를 사용하여 서버 리소스 사용률을 모니터링하는 방법 문서를 확인하세요.