java异常PermGen错误仅可在CentOs上再现
我正试图找出PermGen错误的原因,该错误与我以前遇到的错误不一样
它发生在热部署(是的,我知道)到自定义容器(是的,我知道)中时
在虚拟机上运行时
- CentOS 6.6版(最终版)
- Java HotSpot(TM)64位服务器虚拟机(构建24.76-b04,混合模式)
在5次重新部署时可靠地发生PermGen错误
在我的Ubuntu14.04.1机器上运行相同版本的java,我可以毫无问题地重复100多次
上述测试是完全自动化的,因此所有JVM标志、版本、代码等都是相同的
热部署代码启动JMS侦听器。然而,我最初假设问题是由jms代码在幕后创建的ThreadLocal,该代码保存在类引用上
1)在堆转储中,我没有看到类加载器被保留,它们似乎是GC的
2)Permgen永远不会在ubuntu上运行的相同jvm上耗尽(如上所述)
似乎这个问题在某种程度上与底层操作系统有关
你知道这是什么原因吗
共 (0) 个答案