Apache Doris FE构建失败:fe-core阶段出现GC内存溢出错误
解决Apache Doris FE构建时Checkstyle内存溢出问题
问题说明
这不是Java Bug,是Checkstyle静态代码检查工具在处理HttpUtils.java文件时,默认分配的JVM内存不足以完成代码分析,触发了GC overhead limit exceeded错误——当GC回收时间占比过高且无法释放足够内存时,JVM会抛出该错误。
解决方法
临时增加Checkstyle内存参数
直接在构建命令中指定内存上限,根据构建工具选择对应命令:
Maven构建:mvn clean install -Dcheckstyle.memory.max=2048mGradle构建:
./gradlew clean build -Dorg.gradle.jvmargs="-Xmx2048m"注:
2048m可根据机器内存调整为3072m或4096m修改配置文件永久生效
Maven项目:找到根目录pom.xml,在Checkstyle插件配置中添加内存参数:<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>你的插件版本</version> <configuration> <maxMemory>2048m</maxMemory> <!-- 保留原有其他配置 --> </configuration> </plugin>Gradle项目:修改
build.gradle中Checkstyle配置:checkstyle { maxHeapSize = '2048m' }临时跳过Checkstyle检查(应急用)
如果仅需快速完成构建,可跳过代码规范检查:
Maven命令:mvn clean install -Dcheckstyle.skip=trueGradle命令:
./gradlew clean build -x checkstyleMain注:不建议长期使用,会跳过代码规范校验
额外优化建议
- 关闭当前机器上其他高内存占用程序,为构建过程释放更多内存
- 若机器内存充足,可适当调大内存参数,避免后续重复触发该问题
内容的提问来源于stack exchange,提问作者Ceobe
相关产品推荐
相关产品推荐

