我有一个在MS Windows Server 2008上运行的J2EE Web应用程序。应用程序服务器是Oracle WebLogic 11G。服务器有32GB内存,但用户仍然抱怨应用程序非常慢。
所以我检查JVM配置,发现分配的堆大小只有1 GB,而服务器实际上有32GB ram。
然后我检查JVM堆大小可用百分比并发现即使服务器最繁忙,仍有50%的堆可用。
所以我想知道如果我将堆大小增加到2GB或4GB是否有帮助。
我已经阅读了一些文章,当为JVM分配过多的堆大小时,执行垃圾收集需要很长时间。
答案 0 :(得分:1)
使应用程序更快的正确方法是使用各种工具和其他可用信息源来找出速度慢的原因。例如:
然后你解决原因。
根据肠道感觉随机摆弄堆/ GC参数不太可行。
FWIW:我希望增加堆大小不太可能改善。
答案 1 :(得分:0)
你可以将你的堆内存增加到物理内存的75%左右。但是这有可能解决“慢速问题”。它太低了。问题不在那里,你应该分析大多数使用过的函数的持续时间,看看它的持续时间比用户预期的要长。