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”

  • 相关阅读:
    PHPstorm配置xdebug问题小记
    PHP 实现遍历出目录及其子文件
    localStorage存、取数组
    关于用户体验
    PHP实现导出Excel文件
    js将一位数组分割成每三个一组
    vue 动态绑定背景图片
    父组件传值给子组件
    数组字符串 转化成 对象
    Vuex 页面刷新后store保存的数据会丢失 取cookie值
  • 原文地址:https://www.cnblogs.com/shengulong/p/8376380.html
Copyright © 2011-2022 走看看