surefire HeapDumpOnOutOfMemoryError

时间:2011-01-04 18:12:36

标签: maven out-of-memory surefire

在Windows上的Maven中运行我的单元测试时,我得到了OutOfMemory异常。我尝试将-XX:-HeapDumpOnOutOfMemoryError选项添加到surefire argLine,但是没有生成转储文件。 我也尝试向MAVEN_OPTS添加相同的东西,但仍然没有,我只是得到一个OutOfMemory异常并且该过程挂起,直到我手动杀死它。

我的pom如下:

<plugin>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>                    
        <testFailureIgnore>false</testFailureIgnore>
        <argLine>-Xms512m -Xmx512m -XX:PermSize=256m -XX:-HeapDumpOnOutOfMemoryError</argLine>
        <forkMode>once</forkMode>            
    </configuration>
</plugin>

MAVEN_OPTS:

set MAVEN_OPTS=-XX:-HeapDumpOnOutOfMemoryError

您知道为什么没有生成转储文件吗?

4 个答案:

答案 0 :(得分:2)

试试这个:

set MAVEN_OPTS="-Dmaven.surefire.debug=\"-XX:-HeapDumpOnOutOfMemoryError\""

答案 1 :(得分:2)

您正在使用“ - ”来禁用该选项。使用“+”启用它:

{{1}}

答案 2 :(得分:1)

您的内存泄漏可能已修复,请参阅http://jira.codehaus.org/browse/SUREFIRE-495。您可能想尝试使用surefire 2.7.1或更新版本。

答案 3 :(得分:0)

我想你忘记了这条道路:

    <argLine>-Xms512m -Xmx512m -XX:PermSize=256m -XX:-HeapDumpOnOutOfMemoryError  -XX:HeapDumpPath=/tmp</argLine>

有这个论点:

     -XX:HeapDumpPath=/tmp