permgen相关内容
我试图了解 HotSpot JVM 的内存结构,但对 “方法区" 和 “PermGen" 空间这两个术语感到困惑.我提到的文档说方法区包含类和方法的定义,包括字节码.其他一些文档说它们存储在 PermGen 空间中. 那么我可以断定这两个内存区域相同吗? 解决方案 你应该看看 Java 内存类型 以及关于
..
我想获取应用服务器 Permgen 的转储. 我不想使用 -XX:+TraceClassLoading -XX:+TraceClassUnloading 因为我不想重新启动服务器,也不想使用 jconsole. 我有任何工具,如 jmap(用于堆转储没有找到 permgen 的任何选项)来获取 permgen,因此我只能提供 pid. 解决方案 jmap -permstat
..
我们遇到了 Java.lang.OutOfMemoryError: PermGen space 错误并查看了除 -Xms 和 - 之外的 tomcat JVM 参数Xmx 参数我们还指定 -XX:MaxPermSize=128m.经过一些分析后,我可以看到 PermGen 空间上偶尔会发生垃圾收集,从而避免它运行满. 我的问题是:除了增加 -XX:MaxPermSize 如果我也指定 -XX
..
我开发 Web 应用程序并使用 jBoss 4.0.2,当我用 Eclipse 重新部署我的 WAR 几次时,jBoss 会因为内存不足而崩溃.当我必须在生产环境中安装新版本时,它会消耗生产服务器的内存,所以这意味着我必须停止 jBoss 以防止重新部署客户服务器的内存.有没有办法解决这个问题? 解决方案 基本上没有.由于 JBoss 类加载器的工作方式,每次部署都会使用一部分永久代,即使
..
我经常在 PermGen 中检测到我的环境的 OOM: Java 6 jboss-4.2.3 不是一个大型的网络应用程序 我知道 String.intern() 问题 - 但我没有足够的有价值的用法.增加 MaxPermGen 大小并没有太大影响(从 128 Mb 到 256 Mb). 还有哪些原因可以为 PermGen 调用 OOM?在这种情况下,哪种调查方案是最好的(策略
..
我在 Glassfish 上部署了一个应用程序.随着时间的推移,加载的类数量攀升至数百万,而我的 permgen 似乎也在增加. 为了帮助排除故障,我在 jvm 参数中添加了以下内容.-XX:+PrintGC详细信息-XX:+TraceClassUnloading-XX:+TraceClassLoading 现在在查看输出时,我看到一遍又一遍地加载相同的类.基本上每次调用 Web 服务
..
在多个帖子中提到:ThreadLocal 的不当使用会导致内存泄漏.我正在努力理解使用 ThreadLocal 会如何发生内存泄漏. 我想出的唯一场景如下: 网络服务器维护一个线程池(例如用于 servlet).如果 ThreadLocal 中的变量没有被删除,这些线程可能会造成内存泄漏,因为线程不会死亡. 这个场景没有提到“永久空间"内存泄漏.这是内存泄漏的唯一(主要)用例吗?
..
在 Java 7 之前,JVM 内存中有一个名为 PermGen 的区域,JVM 用来保存其类.在 Java 8 中,它被删除并替换为称为元空间的区域. 永久代和元空间之间最重要的区别是什么? 我知道的唯一区别是 java.lang.OutOfMemoryError: PermGen space 不能再被抛出并且 VM 参数 MaxPermSize 被忽略. 解决方案 从用户角
..
我需要帮助解决这个问题.我需要有人向我解释为什么会发生这种情况以及如何预防或避免它. 线程“Thread-747"中的异常 java.lang.OutOfMemoryError: PermGen space线程“Thread-748"中的异常 java.lang.OutOfMemoryError: PermGen space线程“Thread-759"中的异常 java.lang.OutOfMe
..
我有这个带有 tomcat、java 和 grails 的 VM.我一直收到 permgen 错误,所以我环顾四周并找到了解决方案: set JAVA_OPTS="-Xms256m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m" 我使用 SSH 访问虚拟机并输入上面的参数.我想这会解决问题.问题是,我想确保我做对了.所以我再次搜索如何检查当前
..
最近我在我的网络应用程序中遇到了这个错误: java.lang.OutOfMemoryError: PermGen space 这是一个典型的 Hibernate/JPA + IceFaces/JSF 应用程序,运行在 Tomcat 6 和 JDK 1.6 上.显然,在多次重新部署应用程序后可能会发生这种情况. 是什么导致了它,可以做些什么来避免它?我该如何解决问题? 解决
..
我在 Windows 环境中工作,每次使用 tomcat 时都会收到此错误- 2012 年 4 月 30 日下午 5:30:37 org.apache.catalina.core.StandardWrapperValve 调用严重:servlet 的 Servlet.service() 默认抛出异常java.lang.OutOfMemoryError: PermGen 空间2012-04-30
..
我正在使用 tomcat 6.0,当我正在编制索引时(不是在我启动 tomcat 时),我有一个永久空间错误. 我怎样才能增加那个空间?? 谢谢 解决方案 您可以使用: -XX:MaxPermSize=128m 增加空间.但这通常只会推迟不可避免的事情. 您还可以启用 PermGen 进行垃圾收集 -XX:+UseConcMarkSweepGC -XX:+CMSPerm
..
我已经安装了 JDK 8 并尝试运行 Eclipse.我收到以下警告消息: Java HotSpot(TM) 64 位服务器 VM 警告:忽略选项 MaxPermSize=512m;在 8.0 中移除了支持 忽略这个虚拟机选项的原因是什么? 解决方案 忽略这些参数的原因是由于以下缺点,在 HotSpot for JDK8 中删除了永久代 启动时固定大小 - 难以调整. 内部热点
..
如何在windows中为jvm添加PermGen空间?我找到了很多关于它的链接?但我不明白我必须在哪里点击并写入新值 解决方案 您可以使用 JVM 参数 -XX:MaxPermSize 和 -XX:PermSize 来增加 PermGen Space 的大小.
..
如何增加 Weblogic (Java) 使用的内存.当从 Eclipse 启动服务器时,它显示一条消息 JAVA Memory arguments: -Xms256m -Xmx512m -XX:MaxPermSize=256m.我无法理解它从哪里获取这个价值.一段时间后,Weblogic 服务器由于 permgen 空间不足而出现故障. 我从控制台添加了启动参数,但这没有任何效果.你能帮我
..
我正在运行一个 java 应用程序,我从数据库中带回了很多记录,我在浏览器中得到了一个 java.lang.OutOfMemoryError: PermGen space.现在 Tomcat 7.0 无法启动.Tomcat 日志显示: 错误日志 [2013-04-29 16:23:05] [info] Commons Daemon procrun (1.0.10.0 64-bit) 启动[
..
我有一个非常简单的“Hello world"类型的 Web 应用程序(Spring 3.2.1,Hibernate 4.1.9),用于停止/重新启动 Web 应用程序 Tomcat 7.0.26 以下 Web 应用程序已停止(重新加载、取消部署),但它们的以前运行的类仍然加载在内存中,从而导致内存泄漏(使用分析器确认):/我的应用程序 我采取了以下步骤:启动 JVisualVM右键单击 Tom
..
我需要增加我的永久代.目前我将以下内容作为命令行参数传递: -XX:PermSize=128m-XX:MaxPermSize=128m 这有效.但是,如果我尝试增加这些值,我的 JVM 将无法初始化,并出现以下错误: [2009-06-18 01:39:44] [info] 初始化虚拟机时出错[2009-06-18 01:39:44] [info] 无法为对象堆保留足够的空间[2
..
为了确定在下一次重新部署后 jvm 是否可能会遇到 permgen 空间短缺,我想事先监视当前的 permgen 空间使用情况 类似: 设置 myPermGenThreshold = 0.51 (51%)currentUsedPermGenSize = (...问这里的jvm...说是0.6)if (currentlyUsedPermGenSize > myPermGenThreshold
..