java中的Outofmemory错误

时间:2010-03-18 17:20:02

标签: java out-of-memory

嗨,我们在unix environmnet中运行的进程之一出现了内存异常。如何识别错误(我们观察到java进程中内存泄漏的可能性很小)。所以我们需要分析才能找到rootcauase

2 个答案:

答案 0 :(得分:1)

我建议使用像 YourKit homepage)这样的探查器,以便您可以轻松找到分配如此多内存的内容。

在任何情况下,您都应该检查为JVM指定了哪些设置,以了解是否需要更多堆内存用于您的程序。您可以通过指定-X参数:

来设置它
java -Xmx2g -Xms512m

将以2Gb的最大堆启动JVM,起始大小为512Mb

答案 1 :(得分:0)

如果没有内存泄漏,则应用程序需要更多内存。你是从堆内存,或内存或本机内存?对于堆内存和perm内存,您可以分别使用-Xmx.or -XX:PermSize参数来增加分配。

但首先尝试使用分析器验证您的应用程序确实没有泄漏任何内存。