java.lang.outofmemoryerror:java堆空间每2-3小时

qlvxas9a  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(424)

在我们的应用程序中,我们两者都有, 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的物理内存,理想的大小应该是多少。

64jmpszr

64jmpszr1#

你确定没有内存泄漏吗?另外,如果您使用的是高内存api,比如poi for doc或itext for pdf,那么您就是在利用代码来保持低内存占用。您可以使用探查器查看到底发生了什么。如果你还需要一步一步的增加直到它达到一个合适的值。
就像

-Xms512m -Xmx1024m

然后

-Xms512m -Xmx2048m

等等。。。

x33g5p2x

x33g5p2x2#

我会检查您是否有内存泄漏,例如,是否有对象正在生成而没有被释放。
你可以用一个探查器,例如visualvm或 jmap -histo:live 可能够了。
如果您没有内存泄漏,并且内存使用是有效的,我会尝试将最大内存量增加到您希望jvm使用的最大内存量,例如4gb。

相关问题