运行jmeter的serverAgent源码报错:java.lang.UnsatisfiedLinkError: org.hyperic.sigar.Cpu.gather

报错

INFO    2022-08-13 10:43:49.949 [kg.apc.p] (): Binding UDP to 4444
INFO    2022-08-13 10:43:50.952 [kg.apc.p] (): Binding TCP to 4444
INFO    2022-08-13 10:43:50.954 [kg.apc.p] (): JP@GC Agent v2.2.3 started
INFO    2022-08-13 10:43:51.348 [kg.apc.p] (): Accepting new TCP connection
INFO    2022-08-13 10:43:51.352 [kg.apc.p] (): Yep, we received the 'test' command
INFO    2022-08-13 10:43:51.354 [kg.apc.p] (): Starting measures: cpu:
ERROR   2022-08-13 10:43:52.952 [kg.apc.p] (): Error getting metric
org.hyperic.sigar.SigarException: java.lang.UnsatisfiedLinkError: org.hyperic.sigar.Cpu.gather(Lorg/hyperic/sigar/Sigar;)V
    at org.hyperic.sigar.SigarProxyCache.invoke(SigarProxyCache.java:220)at com.sun.proxy.$Proxy0.getCpuPerc(Unknown Source)
    at kg.apc.perfmon.metrics.CPUTotalMetric.getValue(CPUTotalMetric.java:60)
    at kg.apc.perfmon.PerfMonMetricGetter.getMetricsLine(PerfMonMetricGetter.java:113)
    at kg.apc.perfmon.PerfMonWorker.processSenders(PerfMonWorker.java:268)
    at kg.apc.perfmon.PerfMonWorker.run(PerfMonWorker.java:231)
    at java.lang.Thread.run(Thread.java:748)

解决:

将 sigar-amd64-winnt.dll 放到 jdk/bin 下

如何拿到 sigar-amd64-winnt.dll?

下载链接:[https://github.com/undera/perfmon-agent/blob/master/README.md] ,可直接使用的 serverAgent-v2.2.3.zip,在 lib 文件夹里面拿到 sigar-amd64-winnt.dll

 

参考:(可以先按照这里的步骤尝试能否正常运行)

https://www.cnblogs.com/lkwtt/p/10757084.html