问题标签 [permgen]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
804 浏览

c# - .NET 有类似 Java 的 permgen 的东西吗?

所以我有一个非常标准的 spring、hibernate、tomcat 环境......但我在本地和 CI 上获得了 permgens。

我知道有一个临时修复(即增加分配给 permgen 的内存),但这仍然只是暂时的。鉴于我所看到的,我宁愿不去想象生产环境是什么样子。

(有点比较问题)在 .NET 中我没有看到任何类似的东西。.NET 有它的 permgen 版本吗?

(如果您不知道 permgen 是PermGen Space 的意义

0 投票
1 回答
323 浏览

maven - 分叉时子JVM会“继承”最大堆大小和perm gen大小吗?

如果我在导出的 shell 变量中指定给定的最大堆大小和 perm gen 大小,JAVA_OPTS或者MAVEN_OPTSMaven 构建分叉 JVM,当我运行我的从外壳构建?

0 投票
2 回答
928 浏览

jsp - java.lang.OutOfMemoryError: PermGen space(不是通常的嫌疑人!)

错误出现在jsp页面的这一行!

我尝试使用其他帖子中的方法将 perm gen max 增加到 512m,用于调用 eclipse 和 Tomcat 实例。

好的,所以需要更多上下文:这是我的开发系统,在 Eclipse 中运行,并指向一个独立的 tomcat 实例,它是 Eclipse 中的服务器。

根据Tomcat 6 中的 Recurring "PermGen",我的 eclipse.ini 中有以下内容:

0 投票
2 回答
709 浏览

tomcat - 尽管有JVM标志,有什么方法可以防止Grails permgen在tomcat的生产模式下重新部署时泄漏

这是一个熟悉的老问题,但我真的想一劳永逸地把它放在床上!我设置了以下 JVM 标志:

但我仍然观察到每个部署周期的 permgen 使用量都增加了 50MB。我正在使用 Tomcat 管理器应用程序进行远程部署,而 Grails 处于生产模式。

如果它变得太满,那么 akill -9是必要的!

我可能会尝试使用 JRockit,但现在也不是一个选项。在生产环境中,我真的不认为每隔一段时间就必须反弹整个容器是可以接受的。

0 投票
1 回答
402 浏览

java - 没有找到足够的连续内存会导致OOM吗?

我用 -Xmx1024m 开始了一些 java 代码,在某些时候由于 OOM 我得到了一个 hprof。hprof 仅显示 320mb,并给我一个堆栈跟踪:

这来自我正在复制的一个大字符串。

我记得在某处读过(找不到在哪里)发生的事情是这些情况是:

  • 进程仍然没有消耗1gb的内存,远低于
  • 即使堆仍然低于 1gb,它也需要一些内存,并且copyOfRange()它必须是连续内存,所以即使它还没有超过限制,它也无法在主机上找到足够大的内存,它会失败一个OOM。

我试图寻找这方面的文档(copyOfRange()需要一块连续的内存),但找不到任何东西。

另一个可能的罪魁祸首是 permgen 内存不足。

有人可以证实或反驳连续记忆假设吗?任何指向某个文档的指针也会有所帮助。

0 投票
3 回答
298427 浏览

java - -XX:MaxPermSize 带或不带 -XX:PermSize

我们遇到了Java.lang.OutOfMemoryError: PermGen space错误并查看了 tomcat JVM 参数,除了我们还指定的-Xms和参数。经过一些分析后,我可以看到 PermGen 空间上偶尔会发生垃圾收集,从而避免它运行满。-Xmx-XX:MaxPermSize=128m

我的问题是:除了增加,-XX:MaxPermSize如果我也指定会有什么区别-XX:PermSize?我知道总内存将是Xmx+maxPermSize但是否有任何其他原因为什么-XX:PermSize应该在指定时出现?-XX:MaxPermSize

如果您有处理这些 JVM 参数的实际经验,请分享。

附言。JVM 是 HotSpot 64bit Server VM build 16.2-b04

0 投票
5 回答
7005 浏览

jvm - 是堆的永久生成部分还是位于 jvm 中自身的不同空间中

我看到了很多关于这个问题的评论——有人说是,有人说不是,而且许多答案都是模棱两可的。任何人都可以用更简单的术语描述它所在的位置吗?在一篇文章中,我什至看到有人说它与类加载器加载类的类内存共享相同的内存位置 - 这是真的吗?

0 投票
0 回答
1751 浏览

maven - IntelliJ 的 JRebel 和 Maven 插件设置 - java.lang.OutOfMemoryError: PermGen space

任何人都可以帮忙吗?我在 IDEA 中使用带有 maven 和 JRebel 插件的 Appfuse 原型项目。以下是我从 Idea 中的 Maven 项目运行 jetty:run 时得到的结果。我在 /etc/launchd.conf (MAC) 中增加了 MAVEN_OPTS 并将 -XX:MaxPermSize=128m 添加到 IDEA 中的 Maven 插件 Runner 作为 VM 选项。我还能做些什么来修复它?谢谢。

2011-12-16 17:49:16.877:INFO:/:Initializing Spring FrameworkServlet 'dispatcher' JRebel-Spring: 监控'/Users/vraskin/projects/appfuse_projects/test_project/tutorial/tutorial-spring/src/ 中的 Spring bean 定义主/webapp/WEB-INF/dispatcher-servlet.xml'。错误 [主] Digester.startElement(1366) | 开始事件抛出错误 java.lang.OutOfMemoryError: PermGen space

...

2011-12-16 17:49:25.310:WARN::failed dispatcher: java.lang.OutOfMemoryError: PermGen space 2011-12-16 17:49:25.310:WARN::failed org.mortbay.jetty.plugin.Jetty6PluginWebAppContext@ 4dd3c6fd{/,/Users/vraskin/projects/appfuse_projects/test_project/tutorial/tutorial-spring/src/main/webapp}: java.lang.OutOfMemoryError: PermGen space 2011-12-16 17:49:25.310:WARN::失败的 ContextHandlerCollection@2442c1ad: java.lang.OutOfMemoryError: PermGen 空间 2011-12-16 17:49:25.310:WARN::failed HandlerCollection@1ab95774: java.lang.OutOfMemoryError: PermGen 空间 2011-12-16 17:49:25.310 :WARN::Error 启动处理程序 java.lang.OutOfMemoryError: PermGen space 2011-12-16 17:49:26.152:WARN::failed org.mortbay.jetty.nio.SelectChannelConnector$1@12d37bd8: java.lang.OutOfMemoryError: PermGen空间 2011-12-16 17:49:26.152:WARN::failed SelectChannelConnector@0.0.0.0:8080:java.lang.OutOfMemoryError: PermGen space 2011-12-16 17:49:26.152:WARN::failed Server@3dd510be: java.lang.OutOfMemoryError: PermGen space [INFO] Jetty 服务器正在退出。

...

线程“主”java.lang.OutOfMemoryError 中的异常:PermGen 空间

0 投票
1 回答
571 浏览

grails - 使用 CloudFoundry 插件部署 Grails 应用程序

我使用 Grails CloudFoundry 插件来部署我的 Grails 应用程序。几乎在应用程序启动后,它就会耗尽 PermGen 内存。有什么方法可以增加可用的 PermGen 内存量吗?

我在 CloudFoundry 论坛上看到了这个帖子,但它没有多大帮助,因为我使用 CloudFoundry Grails 插件进行部署,而不是接受的答案中提到的 vmc 工具。

0 投票
2 回答
606 浏览

jvm - Permgen 在 Jboss 6 上部署 Web 应用程序时不断增长

我正在将早期在 Jboss 4.2.3 上的 Web 应用程序移植到 Jboss 6 上。总共大约有 12 个 Web 应用程序,其中目前仅部署了 4 个。

这些 Web 应用程序基于 Axis2 1.5.5、spring 2.5、hibernate 3.2.5、OpenJPA 1.0、saxon 9.1。

类加载器隔离设置如下

我看到 PermGen 已经达到 440MB 并且在 Jboss 6 上增长,我已经设置-XX:MaxPermSize=512m

任何人都可以在这里为我提供确定问题的输入。

环境:JDK 1.6.0_26,Ubuntu 11.10