permgen相关内容
我正在使用Tomcat 6开发JSP应用程序。 由于我确实将Quartz Scheduler Framework和Log4J库添加到项目中,因此Tomcat在重新部署时会开始抛出此异常。 / p> 我已经解决了问题原因,现在我知道必须使用类加载器。 所以,我想问题可能是由自动加载某些类的记录器库造成的。 我该如何处理这个问题? 有另一种方法可以在不使用log4j.prop
..
我正在使用Tomcat部署具有以下PermGen配置的Web应用程序: JAVA_OPTS =“ - Djava.awt.headless = true -Dfile.encoding = UTF-8 -server -Xms1536m -Xmx1536m -XX:NewSize = 256m -XX:MaxNewSize = 256m -XX:PermSize = 256m
..
我目前正在获取 java.lang.OutOfMemoryError:PermGen space 。我正在使用Jetty和Linux Ubuntu。我曾尝试阅读和尝试以前类似问题中提供的不同解决方案,但我没有取得任何成功。一个类似的问题是 处理”java.lang.OutOfMemoryError:PermGen space“错误 但这些解决方案似乎是使用Tomcat而不是Jetty
..
我正在Glassfish 3.1上运行GWT + Hibernate应用程序。几个小时后,我跑出了Permgen空间。这没有任何webapp重新加载。我正在运行 -XX:MaxPermSize = 256m -XmX1024m 。 我接受了这个页面,发现我泄漏了大量的课程 - 我所有的Hibernate模型和我所有的GWT RequestFactory代理。 上面引用的指南说“检查链,
..
是否可以从Tomcat中获取线程转储。我想在某个时间监视Tomcat上正在运行的线程。 注意:我在网络逻辑上这样做但我没有知道如何在Tomcat上完成它。 解决方案 如果你使用Linux,你可以发送一个kill -3 [你的pid] tomcat]它将转储catalina.out中的所有当前线程。
..
限制Java JVM上Permgen空间大小的目的是什么?为什么不总是将它设置为最大堆大小?为什么Java默认这么少的64MB?他们是否试图强迫人们通过这样做来注意代码中的permgen问题? 如果我的应用程序使用85MB的permgen,那么将它设置为96MB可能是安全的,但为什么如果它只是主堆的真正部分呢?允许JVM在堆允许的情况下使用尽可能多的PermGen不是很有效吗? 解决方
..
我需要测试我开发的一些JMX监控脚本,特别是我想验证我对PermGen区域的监控是否正常。所以为了测试这个,我希望能够运行一些加载大量类的代码来消耗PermGen。 我目前的计划是写一个脚本来生成前缀(1..n).java 编译它们然后在cue上运行: for(int i = 1; i
..
看起来像 MemoryError:PermGen space java.lang.OutOfMemoryError:PermGen space 是一个常见问题。您可以增加烫发空间的大小,但在100或200次重新部署后,它将是满的。跟踪ClassLoader内存泄漏几乎是不可能的。 您在生产服务器上使用Tomcat(或另一个简单的servlet容器 - J
..
什么是 Klass & JVM Hotspot Implementation中的 KlassKlass ? 据我所知,呈现Perm生成, Klass 是Java类的内部表示(假设 A )&它将保存有关类结构的基本信息,包括字节码。它将作为对象本身存储。 A类的每个对象都有一个指向内部表示的指针 Klass 存在于PermGen中 KlassKlass是内部的表示 Klass 类本身。为
..
我正在尝试在Sun的Hotspot JVM上运行时诊断 java.lang.OutOfMemoryError:PermGen Space 错误,并且想知道我的程序有多少PermGen空间正在各个方面使用。有没有办法以编程方式查找此信息? 解决方案 您可以使用以下内容: Iterator iter = ManagementFactory.getM
..
我开发Web应用程序并使用jBoss 4.0.2,当我使用eclipse多次重新部署WAR时,jBoss会崩溃,因为内存不足。当我必须将新版本安装到生产环境时,它将消耗生产服务器内存,因此这意味着我必须停止jBoss以防止从客户服务器重新部署内存。这个问题有什么解决方法吗? 解决方案 基本上没有。由于JBoss类加载器的工作方式,每个部署都会耗尽一大块PermGen,即使取消部署应用程序也
..
可能重复: 如何分析PermGen内容? 我想知道占用PermGen空间的是什么 - 字符串实习生()或类?是否有任何工具可以帮助进行此分析? 解决方案 进行内存分析 在JDK的bin目录中使用 jvisualvm.exe 使用jvisualvm进行线程/堆转储,具体取决于您需要分析的应用程序 的进程ID 。 Memory Analyzer(MAT)一个ec
..
当我说 -Xmx = 1024m 时,这是否包括permgen,即 -XX:MaxPermSize = 取自这些1024米还是单独的? 看这个 我认为它需要1024米,但直到现在我还以为它们是分开的。 解决方案 不,permGen空间是主堆的补充(后者通过Sun VM上的-Xmx封顶)
..
我在Sun的JRE6中运行Tomcat6,并且每对夫妇都部署了OutOfMemoryException:PermGen。我已经完成了谷歌搜索PermGen解决方案,并尝试了很多修复。没有工作。我读了很多关于Oracle的JRockit的好东西,以及它的PermGen分配大小如何(与Sun的128M相比)虽然它没有解决问题,但它允许我在PermGen异常之间重新部署100次而不是2现在时间。
..
假设我使用以下参数启动我的java VM: -Xms1024m -Xmx1024m -XX:PermSize = 512m -XX :MaxPermSize = 512m 将512m PermGen空间添加添加到1024m内存或者他们的一部分?或者换句话说,我的总内存消耗是1536米还是1024米?在后一种情况下,这是否意味着应用程序只有512m用于除PermGen空间以
..
我已经看过很多原始的例子,描述了String intern()的工作原理,但是我还没有看到一个可以从中受益的真实用例。 我能想到的唯一情况是拥有一个接收大量请求的Web服务,由于僵化的架构,每个请求都非常相似。通过intern()在这种情况下使用请求字段名称,可以显着减少内存消耗。 任何人都可以提供在生产环境中使用intern()的示例取得了巨大成功?也许是一个流行的开源产品中的一个例
..
PermGen空间在java中有什么意义? 解决方案 PermGen空间是为长期对象保留的 - 主要是 Class 由 ClassLoader 加载的对象。除非在非常特殊的情况下(特别是当加载这些类的 ClassLoader 超出范围时),PermGen不会被垃圾收集。 这是一个垃圾收集优化 - 如果我们不希望垃圾收集的对象被单独存储,它会压缩存储其余对象的空间,这导致垃圾收集器的工
..
我经常在PermGen中检测我的环境中的OOM: java 6 jboss- 4.2.3 不是一个大的网络应用程序 我知道String.intern( )问题 - 但我没有足够的宝贵用法。 MaxPermGen大小的增加没有用力(从128 Mb到256 Mb)。 还有什么其他原因可以为PermGen调用OOM? 在这种情况下(策略,工具等)最好的调查方案是什么? 感
..
我们可以完全禁用字符串的实习。它可能不是真的有用,但只是一个想法。我可以想到至少有一点可以提供帮助,即在jvm调整期间,控制perm gen的大小。 例如如果我发布一个OSGI框架,任何人都可以添加任意数量的自己的捆绑包,每个捆绑字符串实习可以完全搞砸我的调整参数。 (当然我知道我们应该调整给定的固定发行版,但仍然......) 任何想法!! 解决方案 Permgen的大小/用
..
我在运行的Java应用程序上运行 jmap -heap 命令,这是我得到的: C:\Program Files\Java\jdk1.7.0_05\bin> jmap -heap 2384 附加进程ID 2384,请稍候...... 调试器连接成功。 检测到服务器编译器。 JVM版本为23.1-b03 $ 使用新一代并行线程。 使用线程本地对象分配。 并发Mar
..