有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案