当前位置: 首页 > 知识库问答 >
问题:

如何使用maven jvmarg解决“超过GC开销限制”?

万坚壁
2023-03-14

线程“main”java.lang.OutOfMemoryError中出现异常:超过GC开销限制

我试图从类包的maven pom.xml内部增加jvmArg堆大小:

http://maven.apache.org/xsd/maven-4.0.0.xsd“>4.0.0

<parent>
    (...)
</parent>


<artifactId>(...)</artifactId>
<name>(...)</name>

<properties>
    <javaOpts.Xmx>4g</javaOpts.Xmx> <!-- default that can be adjusted on the command line with -DjavaOpts.Xmx=... -->
    <(...).basedir>${project.basedir}/..</(...).basedir>
</properties>

<build>
    <plugins>
        <plugin>
            <groupId>net.alchim31.maven</groupId>
            <artifactId>scala-maven-plugin</artifactId>
            <configuration>
                <launchers>
                    <launcher>
                        <id>MyClassName</id>
                        <mainClass>(...)</mainClass>
                        <jvmArgs>
                            <jvmArg>-Xmx${javaOpts.Xmx}</jvmArg>
                        (...) 
    null

共有1个答案

韦嘉颖
2023-03-14

Java 7

这不是Maven的问题,您需要给VM更多的内存。您可以通过环境变量完成此操作,Maven启动器将在加载时自动获取这些设置,并使用它们配置底层Java VM。

简单的方法是:

(没有双引号)

Java 8

Java8用元空间替换了永久生成,新的设置如下所示:

export maven_opts=“-xmx1024m-xss128m-xx:MetaspaceSize=512m-xx:MaxMetaspaceSize=1024m-xx:+CMSClassUnloadingEnabled”

 类似资料:
  • 当运行一个类时,我会出现以下异常: http://maven.apache.org/xsd/maven-4.0.0.xsd“>4.0.0 我已经用许多值尝试了最后引用的一行: ... 有人能帮我吗?观察:我正在从IntelliJ IDEA逃跑。

  • 我使用Jmeter将工作负载注入部署在AWS EC2实例上的应用程序。测试必须非常庞大:它持续10个小时,工作负载配置文件具有双峰形状,在5分钟内大约有2600个请求。实际上我有一个m3。部署应用程序的xlarge实例,8 m3。xlarge实例每个实例运行一个jmeter实例。使用python脚本,要注入的工作负载在8个客户机实例之间进行分割,因此在示例中,如果原始工作负载要注入800个请求,那

  • 在Android Studio1.5.1只是通过移动源代码从一个系统到另一个即使干净的构建是成功的,但当代码运行我得到这种错误 java.lang.OutOfMemoryError: GC开销限制超过错误:任务': app: dexDebug'执行失败。 我在应用程序中添加了以下代码。格拉德尔还:

  • 我使用的64位linux。 当我运行我的应用程序时,我得到 当我搜索如何解决这个错误时,我得到了像添加这样的解决方案: -XX:-UseGCOverhead限制studio.vmoptions或studio64.vmoptions -xmx2000mstudio.vmoptions或studio64.vmoptions等 这些对我不起作用。 请帮忙。提前谢谢

  • 我的Hippo应用程序失败主要是在与我的数据库进行连接时,GC开销超过了限制,有时低于错误。 javax。jcr。RepositoryException:未经检查的异常:java。lang.OutOfMemoryError:Java堆空间 我试图尽可能地清理我的后端。我知道垃圾收集器占用的时间太长,每次运行时恢复的内存很少。所以我需要更新我的堆大小,也可以使用-XX:-usegcoveredlim

  • 使用当我尝试构建我的项目时,这种错误越来越多: 错误:任务“:app:CompiledEbugJavaWithJavac”执行失败。OutofMemoryError:超出GC开销限制 有什么办法解决这个问题吗?