Weblogic 12c上的PermGenSpace错误

时间:2015-11-17 16:30:51

标签: java java-ee weblogic weblogic12c

我的问题是我有一个Weblogic 12c,当我尝试对我的网站上的数据进行分析时,数据太大了,它给了我PermGenSpaceError。好吧,我的问题是我该怎么做才能解决它,因为它发生在我分析总内存超过8060576的大数据时,因为这是我服务器的所有内存RAM以及我该怎么做。如果你可以给我一个教程或视频,我将非常优雅,因为我搜索了一天这个问题,我仍然没有答案。

非常感谢, 维拉德。

1 个答案:

答案 0 :(得分:1)

了解运行基于java的应用程序时的工作原理。您的应用程序已编译(设置类等),它们由代表Java虚拟机的JVM运行。

Java虚拟机内存由区域组成。存储变量和方法的堆栈区域以及存储其他所有内容的堆空间区域。 Java堆空间再次在称为代的不同区域中构建,并且存储对象的位置取决于对象的生存时间。

现在您可以了解PermGenSpace(永久代空间)的来源。

在您的情况下,您需要增加PermGenSpace内存的大小,以便您的应用程序能够处理大量数据。 stackoverflow中有大量的答案可以教你如何做到这一点,如下所示:

  1. Dealing with "java.lang.OutOfMemoryError: PermGen space" error
  2. Weblogic increase memory
  3. facing perm gen space error in weblogic
  4. Oracle help centre - tunning Java Virtual Machine
  5. WebLogic PermnGenSpace Settings
  6. 有关PermnGen及其原因的更多信息here
  7. 还有更多的外部链接可以帮助您设置PermGenSpace内存。

    在结束之前,我想提一下可以用来了解weblogic实例行为的另一个很棒的工具。 Java Visual VM允许您监视应用程序如何使用Java堆空间,处理器,网络等资源。安装Java Visual VM后,检测正在运行的基于java的应用程序(本地 - 您还可以使用RMI设置Java Visual VM来监视远程服务器)并显示VM的详细信息,即为Java堆空间分配的现有内存量,应用程序使用的数量,计算机的最大内存等。

    在分析大小的图像文件(6 GB)时,我遇到了图像管理应用程序的问题。我发现的问题基本上是图像管理应用程序没有正确收集垃圾,Java Visual VM帮助我发现问题。

    所以我建议,下载并安装Java Visual VM,运行您的应用程序,然后查看您的内存和其他资源的使用方式。如果Java堆空间确实耗尽了内存,那么您可以使用上面的链接增加大小,然后重新运行应用程序并使用Java Visual VM监视其性能。