在非gui模式下使用Jmeter 3.3进行分布式测试期间我遇到错误,我该如何解决这个问题:
我在Master和Slave机器上使用相同版本的JMeter和JDK。
JVM应该已经退出但没有退出。以下非守护程序线程仍在运行(DestroyJavaVM没问题):Thread [main,5,main],
stackTrace:java.net.SocketInputStream#socketRead0
java.net.SocketInputStream#socketRead
java.net.SocketInputStream#read
java.net.SocketInputStream#read
java.io.BufferedInputStream#fill
java.io.BufferedInputStream#read
java.io.DataInputStream#readByte
sun.rmi.transport.StreamRemoteCall#executeCall
sun.rmi.server.UnicastRef#invoke
java.rmi.server.RemoteObjectInvocationHandler#invokeRemoteMethod
java.rmi.server.RemoteObjectInvocationHandler#invoke
com.sun.proxy.$Proxy19#rrunTest
org.apache.jmeter.engine.ClientJMeterEngine#runTest at line:149
org.apache.jmeter.engine.DistributedRunner#start at line:132
org.apache.jmeter.engine.DistributedRunner#start at line:149
org.apache.jmeter.JMeter#runNonGui at line:1005
org.apache.jmeter.JMeter#startNonGui at line:910
org.apache.jmeter.JMeter#start at line:538
sun.reflect.NativeMethodAccessorImpl#invoke0
sun.reflect.NativeMethodAccessorImpl#invoke
sun.reflect.DelegatingMethodAccessorImpl#invoke
java.lang.reflect.Method#invoke
org.apache.jmeter.NewDriver#main at line:248
很可能您的JMeter引擎已经过载,因此当您请求它们时,无法正常关闭正在运行的线程。
jmeter.exit.check.pause=-1
如果你这样做,请记住,即使在测试结束后,JMeter从属设备仍然会尝试执行某些操作,因此您需要手动或使用脚本终止并重新启动进程。