【发布时间】:2014-07-05 04:06:24
【问题描述】:
每当堆内存达到 90% 时,我们都会收到来自 Websphere Application Server 7.0.25 的警报,但此时垃圾收集没有运行。我们监控内存,发现只有在堆内存使用率达到 99% 后才会运行 GC。 JVM参数设置为:
初始堆内存 - 128MB
最大堆内存 - 512MB
请建议无论如何,GC 在达到 90% 或低于堆内存利用率后开始。
【问题讨论】:
-
我要指出 IBM JVM 与 Oracle JVM 不同,并且特定于 WebSphere 对 WebApplications 有不同的配置。
-
是的,我同意您的观点,即 IBM JVM 与 Oracle JVM 不同,并且使用 Oracle JVM,我们更频繁地监控 GC 周期。您所说的 WebSphere 对 WebApplications 有不同的配置。我能知道你在说什么配置吗?
-
您可以更改您的 Java 进程以拥有更高的最大堆内存,您还可以打开详细垃圾收集 -X verbosegc 并获得一个输出,该输出将告诉您到底发生了什么跨度>
-
我们已经开启了verbose Garbage Collection -X verbosegc。最大我们有 512 MB 堆内存。我的问题是为什么 GC 在达到 99% 后运行?或者我们可以在 WAS 中设置任何方式或参数,以便 GC 在达到 90% 之前运行。我的意思是任何 JVM 参数?