gpt4 book ai didi

java - 部署取消部署时 Weblogic 内存泄漏

转载 作者:行者123 更新时间:2023-11-30 04:43:26 25 4
gpt4 key购买 nike

使用 -Xmx1024m -Xms1024m 与 32 位 JRockit R 28.2.4-14 一起运行的 Weblogic 10.3.5在 Java EE EAR 文件的 5-8 个取消部署-重新部署周期后,总是会出现 native 内存不足的情况。

根据错误消息和 VisualVM 中的显示内容,不是 Java 堆太满,而是可用的系统内存不足。

java.lang.OutOfMemoryError: class allocation, 865324184 loaded, 464M footprint,
in check_alloc (src/jvm/model/classload/classalloc.c:215).

Attempting to allocate 1G bytes

There is insufficient native memory for the Java
Runtime Environment to continue.

Possible reasons:
The system is out of physical RAM or swap space
In 32 bit mode, the process size limit was hit
Possible solutions:
Reduce memory load on the system
Increase physical memory or swap space
Check if swap backing store is full
Use 64 bit Java on a 64 bit OS
Decrease Java heap size (-Xmx/-Xms)
Decrease number of Java threads
Decrease Java thread stack sizes (-Xss)
Disable compressed references (-XXcompressedRefs=false)

at sun.misc.Unsafe.defineClass(Native Method)
at sun.reflect.ClassDefiner.defineClass(ClassDefiner.java:45)
at sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:381)
at sun.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:377)
at sun.reflect.MethodAccessorGenerator.generateSerializationConstructor(MethodAccessorGenerator.java:95)
at sun.reflect.ReflectionFactory.newConstructorForSerialization(ReflectionFactory.java:313)
at java.io.ObjectStreamClass.getSerializableConstructor(ObjectStreamClass.java:1322)

我理解建议的可能解决方案,但由于如果应用程序仅部署一次,一切都很好,因此在取消部署时似乎未正确释放类。取消部署后的堆转储显示内存中还留有许多类。那么它们不应该被垃圾收集吗?

GC Root 的路径显示了一个线程 <JNI Local> java.lang.Thread @ 0x129ac778 JDWP Transport Listener: dt_socket Native Stack, Thread 。服务器上没有流量,我不知道为什么它保持 Activity 状态。

最佳答案

此内存泄漏很可能是在 perm-gen 空间中引起的(这就是它在 Hotspot JVM 上的调用方式)。 JRockit 没有专用的 Perm-Gen 空间,但为此使用“常规”堆空间。看看以下网站,我发现这些网站对于了解这里发生的事情非常有帮助:

What is a PermGen leak

Busting PermGen Myths

关于java - 部署取消部署时 Weblogic 内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11682658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com