在我们的应用程序中,我们两者都有, Apache Server (for the front end only)
& JBoss 4.2 (for the business / backend end)
. 我们正在使用 Ubuntu 12
作为服务器操作系统。我们的应用程序正在抛出 java.lang.OutOfMemoryError: "Java heap space"
反复(它会吐出一个小时左右的粪便,然后在接下来的2-3个小时内恢复正常工作。我们的java内存设置是
-Xms512m -Xmx1024m
我们的服务器有6gb的内存。请指导我们是否需要增加java堆的大小。如果是的话,考虑到6gb的物理内存,理想的大小应该是多少。
2条答案
按热度按时间64jmpszr1#
你确定没有内存泄漏吗?另外,如果您使用的是高内存api,比如poi for doc或itext for pdf,那么您就是在利用代码来保持低内存占用。您可以使用探查器查看到底发生了什么。如果你还需要一步一步的增加直到它达到一个合适的值。
就像
然后
等等。。。
x33g5p2x2#
我会检查您是否有内存泄漏,例如,是否有对象正在生成而没有被释放。
你可以用一个探查器,例如visualvm或
jmap -histo:live
可能够了。如果您没有内存泄漏,并且内存使用是有效的,我会尝试将最大内存量增加到您希望jvm使用的最大内存量,例如4gb。