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

时间:2015-01-15 10:10:59

标签: java jboss jboss-4.2.x

在我们的申请中,我们同时拥有Apache Server (for the front end only)& JBoss 4.2 (for the business / backend end)。我们使用Ubuntu 12作为服务器操作系统。我们的应用程序反复抛出java.lang.OutOfMemoryError: "Java heap space"。 (它将OOME抛出一个小时左右,然后在接下来的2-3个小时内恢复正常工作。然后重复该模式。)我们的Java内存设置

-Xms512m -Xmx1024m

我们的服务器物理上有6 GB的Ram。请指导我们是否需要增加java堆大小。如果是的话,考虑到物理6GB的Ram,应该是理想的尺寸。

2 个答案:

答案 0 :(得分:1)

你确定你没有内存泄漏吗?此外,如果您使用api(如POI for doc或itext for PDF)使用高内存,则可以使用代码来降低内存占用。您可以使用分析器查看到底发生了什么。如果您仍然需要逐步增加增量,直到达到适当的值。

喜欢

-Xms512m -Xmx1024m

然后

-Xms512m -Xmx2048m

等......

答案 1 :(得分:1)

我会检查你是否有内存泄漏,例如是否有物体积聚而没有被释放。

您可以使用分析器来完成此操作,例如visualvm或jmap -histo:live可能就足够了。

如果您没有内存泄漏并且内存使用率有效,我会尝试将最大值增加到您希望JVM使用的最大内存量,例如4 GB。