Jenkins --> JUnit throwing OutOfMemoryError PermGen on Linux



在构建期间,我在Linux上使用Jenkins运行了数千(10K)个Junit,但它抛出了OutOfMemoryError。

/builds/build.xml:113: java.lang.OutOfMemoryError: PermGen space
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
    at 

在配置-->"invoke ant"-->高级时,为该作业的JUnit设置以下JVM配置

Xms512m -Xmx1024m -XX:MaxPermSize=1024m

即使在将PermGen和HeapSize增加到3072m之后,它在同一测试中也失败了。

我在错误的地方配置吗?Jenkins是否限制我将invokeant配置增加到一定的限制之外?Jenkins配置是否也需要增加以影响JUnit ant配置?如果是,有人能建议如何增加Jenkins堆和PermGen配置吗?

当它是PermGen space错误时,使用Xms&Xmx参数不会影响错误。我建议您将这些选项添加到Jenkins启动脚本中,而不是在Build > Invoke Ant > Advanced... > Java Options中设置这些选项。

-XX:PermSize=512m -XX:MaxPermSize=1024m

如果需要,请尝试增加MaxPermSize值。

相关内容

  • 没有找到相关文章

最新更新