Tomcat 如何杀死所有隐藏的JVM线程?

Tomcat 如何杀死所有隐藏的JVM线程?,tomcat,jvm,ormlite,Tomcat,Jvm,Ormlite,我在Ubuntu VPS中使用Tomcat 7进行登台,目前我发现:每次我关闭Tomcat以重新部署更新的war时,我都会看到许多严重的警告,警告可能是由于以下原因导致的内存泄漏: Quartz作业(即使我已经使用Quartz servlet启动了Quartz作业实例,它应该在容器销毁时销毁,但实际上并不是全部) Ormlite在ThreadLocal方面存在持续问题(即使我已经在使用Tomcat conn pool并通过JNDI查找访问它) 问题是在我重新部署了几次之后出现的,JVM似乎不能/

我在Ubuntu VPS中使用Tomcat 7进行登台,目前我发现:每次我关闭Tomcat以重新部署更新的war时,我都会看到许多严重的警告,警告可能是由于以下原因导致的内存泄漏:

  • Quartz作业(即使我已经使用Quartz servlet启动了Quartz作业实例,它应该在容器销毁时销毁,但实际上并不是全部)
  • Ormlite在ThreadLocal方面存在持续问题(即使我已经在使用Tomcat conn pool并通过JNDI查找访问它)
  • 问题是在我重新部署了几次之后出现的,JVM似乎不能/没有释放一些应该由tomcat使用的套接字,所以tomcat无论如何根本无法启动。因此,我所做的是通过发出以下命令重新启动整个Ubuntu:

    $ shutdown -r now
    
    在那之后,我可以再次开始我的雄猫

    我的问题是:我可以使用命令吗:

    $ pkill -f 'java -jar'
    
    要杀死所有JVM隐藏线程


    谢谢

    这样做不合适。不过有几条评论:1)我怀疑严重警告不是问题所在2)如果某个应用程序的内存不足,你不应该重新启动操作系统。格雷,好的,谢谢。。。也许我对一些产品的陈述使这个问题不合适,对此表示抱歉。但在我删除这个问题之前,请您至少确认一下我是否可以使用pkill-f‘java-jar’命令杀死正在运行的JVM,因为我的错误编码可能仍然保留一些套接字资源?我想您应该想重新启动tomcat。我不知道你是否可以杀死它下面的罐子。好吧,我在昨晚发生另一件事后编辑了上面的问题,并更仔细地阅读了错误,希望我现在的问题是合适的:)。。。顺便说一句,我现在正在使用visualvm评测我的应用程序,希望我能在关闭tomcat后看到JVM是否真的死了。。。或者因为无法释放一些资源而仍然住在后面的某个地方。。。但我仍然在寻找一个好的答案。。。