当前位置: 首页 > 知识库问答 >
问题:

Jmeter脚本执行挂起-JVM应该已经退出,但没有退出

隗嘉歆
2023-03-14

我们正在运行一个jmeter性能测试脚本。它执行并产生结果,但之后它只是挂起(无限等待),显示JVM应该已经退出,但没有退出

完整执行日志-

jmeter -n -t myScript01.jmx -l myScript01-results.jtl
Creating summariser <summary>
Created the tree successfully using myScript.jmx
Starting standalone test @ Sun Jan 03 05:07:06 UTC 2021 (1609650426432)
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4447

summary =      0 in 00:00:00 = ******/s Avg:     0 Min: 9223372036854775807 Max: -9223372036854775808 Err:     0 (0.00%)
Tidying up ...    @ Sun Jan 03 05:19:01 UTC 2021 (1609651141694)
... end of run
The JVM should have exited but did not.
The following non-daemon threads are still running (DestroyJavaVM is OK):
Thread[AWT-EventQueue-0,6,main], stackTrace:sun.misc.Unsafe#park
java.util.concurrent.locks.LockSupport#park at line:175
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject#await at line:2039
java.awt.EventQueue#getNextEvent at line:554
java.awt.EventDispatchThread#pumpOneEventForFilters at line:187
java.awt.EventDispatchThread#pumpEventsForFilter at line:116
java.awt.EventDispatchThread#pumpEventsForHierarchy at line:105
java.awt.EventDispatchThread#pumpEvents at line:101
java.awt.EventDispatchThread#pumpEvents at line:93
java.awt.EventDispatchThread#run at line:82
Thread[DestroyJavaVM,5,main], stackTrace:
Thread[AWT-Shutdown,5,system], stackTrace:java.lang.Object#wait
sun.awt.AWTAutoShutdown#run at line:314
java.lang.Thread#run at line:748

操作系统-

$ cat /etc/os-release
NAME="Red Hat Enterprise Linux Server"
VERSION="7.8 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.8"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.8 (Maipo)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.8:GA:server"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.8
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="7.8"

java版本-

$ java -version
openjdk version "1.8.0_272"
OpenJDK Runtime Environment (build 1.8.0_272-b10)
OpenJDK 64-Bit Server VM (build 25.272-b10, mixed mode)

jmeter版本-5.3

$ jmeter -v
    _    ____   _    ____ _   _ _____       _ __  __ _____ _____ _____ ____
   / \  |  _ \ / \  / ___| | | | ____|     | |  \/  | ____|_   _| ____|  _ \
  / _ \ | |_) / _ \| |   | |_| |  _|    _  | | |\/| |  _|   | | |  _| | |_) |
 / ___ \|  __/ ___ \ |___|  _  | |___  | |_| | |  | | |___  | | | |___|  _ <
/_/   \_\_| /_/   \_\____|_| |_|_____|  \___/|_|  |_|_____| |_| |_____|_| \_\ 5.3

Copyright (c) 1999-2020 The Apache Software Foundation

感谢您的指导!

共有1个答案

陶裕
2023-03-14

它看起来像是JMeter Bug 64479的副作用,所以选项如下:

  1. 升级到JMeter 5.4,其中错误已修复
  2. 从您的测试计划中删除HTTP(S)测试脚本记录器(这是您在任何情况下都应该做的事情,它将减少脚本处理时间,并且在录制完成后不会增加任何价值)
  3. 设置jmeterengine。武力系统将属性退出到true
 类似资料:
  • 在非gui模式下使用JMeter执行脚本和远程测试时,我会收到错误消息,如何解决该问题

  • 在非gui模式下使用Jmeter 3.3进行分布式测试的过程中,我得到的错误是,如何修复此问题: 我在主机器和从机器上使用相同版本的JMeter和JDK。 JVM应该已经退出,但没有退出。以下非守护进程线程仍在运行(DestroyJavaVM正常):线程[main,5,main],

  • 问题内容: 从数据库表和solr中读取数据后,我编写了一个脚本来更新数据库表。我正在使用asyn.waterfall模块。问题在于,成功完成所有操作后,脚本不会退出。我使用过的数据库连接池也认为可能正在创建脚本以无限期等待。我想将此脚本放在crontab中,如果无法正确退出,它将不必要地创建大量实例。 问题答案: 我刚刚经历了这个问题。 仅仅使用的问题是我正在处理的程序正在创建句柄,但从未销毁它们

  • 问题内容: 我正在通过Jenkins构建Qt GUI应用程序。我添加了3个构建步骤: 构建测试可执行文件 运行测试可执行文件 用gcovr编制覆盖率报告 由于某种原因,用于运行测试可执行文件的shell任务在执行后会停止。即使是简单的也不运行。测试是使用Google Test编写的,并输出xUnit XML文件,这些文件将在构建后进行分析。一些测试启动了应用程序的用户界面,因此我安装了jenkin

  • 这里似乎有很多很多线程,谷歌点击了退出、退出和操作系统的重复使用_exit(),sys。Python中的exit(),但我发现没有一个可以很好地与IPython配合使用。 当我使用它们中的大多数时,我会得到: 我试图在Python中调试-当满足特定条件时,我希望Python停止执行并返回到Python命令行,以便我可以检查全局变量等。 怎么做? 现在我已经这样做了,当我点击Ctrl-C时,它就可以

  • 我正在开发一个简单的反应式编程脚本示例,以从Web下载图像,但是当我在VScode中执行脚本时,我没有得到任何类型的输出,我已经尝试创建一个VirtualEnv 在终端中,我得到以下输出: PS C:\用户\ernes\桌面\范例