We are loading testing a .NET application using JMeter and Perfmon plugin. We are running the Perfmon ServerAgent to collect CPU and Memory Metrics in Windows Server 2008 R2 (used for App) and Windows Server 2016 R2 (used for SQL Server 2016). ServerAgent works fine in 2008 R2 but the ServerAgent in 2016 R2 is crashing as soon as the JMeter is started. Both servers are running same version of 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] #
Below are solutions tried so far and no luck.
PerMon is running on the Server and capturing CPU and Memory usage.
There is no issues with Port or Network traffic. Server agent is receiving the request on port 4444 on both servers.After the crash, JMeter shows Timeout error as it is not able to reach Server agent.
We tried disabling DEP by setting it to - Turn on DEP for essential Windows programs and services only
Running ServerAgent with Admin privilege has no effect. It still crashes.
Running ServerAgent In compatibility mode has no effect. It still crashes.
It sounds like a SIGAR bug and unfortunately there is nothing you can do with it (unless you want to investigate the issue with
sigar-amd64-winnt.dll, implement the solution, contribute it to SIGAR upstream and update JMeter PerfMon Plugin to with the fixed version)
In the meantime you can consider SSHMon Samples Collector as the workaround, check out How to Monitor Server Resource Utilization with JMeter’s SSHMon Listener article for more details
User contributions licensed under CC BY-SA 3.0