标签: permgen

是什么导致 JBoss 上的 PermGen OutOfMemoryError?

JBoss 中 PermGen OutOfMemoryError 的根本原因是什么?

我在我的开发环境中运行 JBoss AS 4.2.2,这是在多次重新部署我的 Web 应用程序后发生的。

Christian Vest Hansen 的博客给出的 JVM 选项很有帮助,但并没有完全解决问题:

-XX:+UseConcMarkSweepGC
-XX:+CMSPermGenSweepingEnabled
-XX:+CMSClassUnloadingEnabled
-XX:MaxPermSize=128m
Run Code Online (Sandbox Code Playgroud)

jboss permgen outofmemoryerror

8
推荐指数
1
解决办法
7755
查看次数

Java 中的 PermGen 错误,而内存使用率似乎很低

Java 应用程序不时因 PermGen 空间错误而死亡,但是当我查看内存使用情况时,我所知道的似乎很低。

它是一个 Tomcat 应用程序,加上运行着 SOLR 服务器(在同一个 tomcat 下)。

JVM 参数catalina.sh

-Xms1024m 
-Xmx2048m 
-XX:+HeapDumpOnOutOfMemoryError 
-XX:HeapDumpPath=/path/to/logs
Run Code Online (Sandbox Code Playgroud)

错误catalina.out

java.lang.OutOfMemoryError: PermGen space
Dumping heap to /path/to/logs/java_pid22335.hprof ...
Heap dump file created [107041478 bytes in 1.823 secs]
Exception in thread "pool-5-thread-1" java.lang.OutOfMemoryError: PermGen space
Run Code Online (Sandbox Code Playgroud)

现在第一个奇怪的是内存转储只有 100Mb,而堆限制是 2048Mb。当我曾经有“正确的”内存不足错误时,转储文件的大小接近堆限制。

第二件奇怪的事情是 显示的内存使用情况jmap -heap 22335似乎很正常(运行此命令时,java 应用程序仍处于关闭状态):

Attaching to process ID 22335, please wait...   
Debugger attached successfully.
Server compiler detected.
JVM version is 11.3-b02

using thread-local object allocation.
Parallel GC with …
Run Code Online (Sandbox Code Playgroud)

tomcat java permgen solr

5
推荐指数
1
解决办法
4668
查看次数

Perm Gen 的 Tomcat JMX 监控问题

我的 jmx 监控有问题。我们用 jmx 监控一些 jvm 的 perm gen。但有时 mbean 的名称会从“PS Perm Gen”更改为“Perm Gen”,反之亦然。它发生在 tomcat 服务器重新启动时,但不是每次重新启动时都会发生。

jvm 版本是 1.5.0_16。

有没有人遇到过这个问题,也许有解决方案?

tomcat java permgen jmx

4
推荐指数
1
解决办法
2582
查看次数

标签 统计

permgen ×3

java ×2

tomcat ×2

jboss ×1

jmx ×1

outofmemoryerror ×1

solr ×1