java - Weblogic 12c 上的 PermGenSpace 错误

标签 java jakarta-ee weblogic weblogic12c

我的问题是我有一个 Weblogic 12c,当我尝试分析我网站上的数据时,数据太大,导致出现 PermGenSpaceError 错误。好吧,我的问题是我能做些什么来修复它,因为它发生在我分析总内存超过 8060576 的大数据时,因为这是我来自服务器的所有内存 RAM 以及我该怎么做。如果您能给我一个教程或视频,我将非常感激,因为我在这个问题上搜索了一天多,但仍然没有答案。

非常感谢, 弗拉德。

最佳答案

关于运行基于 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

还有更多外部链接可以帮助您了解如何设置 PermGenSpace 内存。

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

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

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

关于java - Weblogic 12c 上的 PermGenSpace 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33762184/

相关文章:

java - Logger引起的内存泄漏

java - 如何获取 <p :column> in a facelet using EL 的嵌套组件

java - 更新语句在 JSP 中不起作用

java - Weblogic启动失败java.lang.NoClassDefFoundError : weblogic/Server

security - 在不使用明文密码的情况下从 Weblogic 获取 IntialContext

java - 如何在Java EE环境中使用JMS和JPA处理事务回滚?

java - 如何确定大型 Java 应用程序的 CMSInitiatingOccupancyFraction?

java - 在 Java servlet 中读取自己的 MANIFEST.MF

java - 从具有循环依赖性的命令行编译

java - 将jar名称设置为包名称开头是否正常