zoukankan      html  css  js  c++  java
  • Jmeter执行java脚本结束时提示:The JVM should have exited but did not.

    使用jmeter对dubbo进行压测时,需要使用jmeter的sampler里的java请求

    使用./jmeter.sh -n -t test.jmx -l test.jmx -o -e test后台启动任务,执行结束出现“The JVM should have exited but did not.”现象,jmeter后台任务自动停止失败

    解决办法:在jmeter.properties里或user.properties里设置   

    jmeterengine.force.system.exit=true

     

    在apache-tomcat托管的应用里如果使用了dubbo的消费端,关闭tomcat时,会无法退出进程,应用会被关闭,connector端口也关闭了,但dubbo相关的一些线程仍存在,导致java进程并不会消失。这其实是由非daemon线程引起的,jvm里当前main线程在退出时,只要存在非daemon的子线程,就不会退出jvm,哪怕这个非daemon的线程是在一个daemon线程里启动的  

    Dubbo的线程都是daemon的,不过它使用的netty框架却有一个非daemon的“Hashed wheel timer”线程:正是这个非daemon线程,导致tomcat的主线程退出后,jvm进程没能退出。类似的问题以前在HSF2里也存在,后来已经解决了。dubbo的这个问题可以通过kill来结束。

    你的应用里存在非 daemon 线程,应用关闭时没法关闭掉这些线程,会报“memory leak”

  • 相关阅读:
    快速排序算法
    HDOJ(1005) Number Sequence
    HDOJ(1004) Let the Balloon Rise
    HDOJ(1003) Max Sum
    HDOJ(1002) A + B Problem II
    HDOJ(1001) Sum Problem
    HDOJ(1000) A + B Problem
    DeepFaceLab小白入门(5):训练换脸模型!
    DeepFaceLab小白入门(4):提取人脸图片!
    DeepFaceLab小白入门(3):软件使用!
  • 原文地址:https://www.cnblogs.com/shengulong/p/8376380.html
Copyright © 2011-2022 走看看