BEA 建议保持最小和最大堆大小相同。他们没有详细说明提出建议的原因。有人可以提供详细信息吗?
我还从架构师那里得到了另一个建议,即不设置任何最小值而只设置最大值。对此有何评论?如果我不使用它,默认值是什么?
什么是监控和调整 JVM 设置的最佳工具。我在 BEA weblogic 10g 上使用 JDK1.6。它在 Linux 32 位 JVM 上。
最大堆大小设置为 2GB 有什么好处吗?服务器有很多内存。目前设置为 1.5GB,当有 40 个并发用户时使用率为 80%。谢谢,
BEA 建议保持最小和最大堆大小相同。他们没有详细说明提出建议的原因。有人可以提供详细信息吗?
我还从架构师那里得到了另一个建议,即不设置任何最小值而只设置最大值。对此有何评论?如果我不使用它,默认值是什么?
什么是监控和调整 JVM 设置的最佳工具。我在 BEA weblogic 10g 上使用 JDK1.6。它在 Linux 32 位 JVM 上。
最大堆大小设置为 2GB 有什么好处吗?服务器有很多内存。目前设置为 1.5GB,当有 40 个并发用户时使用率为 80%。谢谢,
当 JVM 需要增加堆的大小时,它会调用完整的垃圾回收,这可能会降低吞吐量或导致暂停,所以我认为出于性能原因,他们建议这样做。
默认值记录为 2MB,因此如果您不覆盖它,您可能会在启动后获得很多(可能非常快)完整集合,因为堆经常调整大小。
除非您试图使内存占用尽可能小,否则我会遵循 BEA 的建议。
不可能从给出的信息中说 2GB 是否合适,或者是否正在使用其中的空间的对象仍在范围内 - 老一代将逐渐填满,直到在调用完整集合时空间用完。这 80% 的数字是从哪里来的?
使用以下 JVM 参数将 GC 详细信息记录到名为 gc.log 的文件中:
-verbose:gc -XX:+PrintGCDetails -Xloggc:gc.log