当堆大小空闲百分比高于50%时,java是否有助于增加JVM堆大小?
我有一个运行在MS Windows Server 2008上的J2EE web应用程序。应用服务器是Oracle WebLogic 11G。服务器有32GB的ram,但用户仍不断抱怨应用程序速度太慢
因此,我检查了JVM配置,发现分配的堆大小只有1GB,而服务器实际上有32GB的ram
然后我检查JVM堆大小空闲百分比,发现即使在服务器最忙的时候,仍然有50%的堆空闲
因此,我想知道如果我将堆大小增加到2GB或4GB是否有帮助
正如我读过的一些文章所述,当为JVM分配太多堆大小时,执行垃圾收集将花费很长时间
# 1 楼答案
使应用程序更快的正确方法是使用各种工具和其他可用信息源来找出其速度慢的原因。例如:
然后你解决原因
仅仅基于直觉随机地修改heap/GC参数是不可能的
FWIW:我认为增加堆大小不太可能改善情况
# 2 楼答案
您可以将堆内存增加到物理内存的75%左右。但解决“慢问题”的机会太小了。问题不在这里,您应该分析大多数使用的函数的持续时间,并查看其持续时间比用户预期的长