gpt4 book ai didi

sonarqube - Sonar - 内存不足错误 : Java heap space

转载 作者:行者123 更新时间:2023-12-02 22:23:11 25 4
gpt4 key购买 nike

我正在使用“Findbugs”作为配置文件在 Sonar 上部署一个大型 Java 项目,并收到以下错误:

Caused by: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError:
Java heap space

我试图解决这个问题:

  1. 将 %SONAR_RUNNER_OPTS% 替换为 -Xms256m -Xmx1024m,以增加 Sonar 运行器 bat 文件中的堆大小。
  2. 将 Sonar 全局参数中的“sonar.findbugs.effort”参数设置为“Min”。

但是以上两种方法都不适合我。

最佳答案

我遇到了同样的问题,并找到了一个非常不同的解决方案,也许是因为我很难接受以前的答案/评论。对于 1000 万行代码(这比 F16 战斗机中的代码还多),如果每行有 100 个字符(一个疯狂的大小),您可以将整个代码库加载到 1GB 内存中。我设置了8GB内存还是不行。为什么?

回答:因为社区 Sonar C++ 扫描仪似乎有一个错误,它会拾取扩展名中带有字母“c”的任何文件。其中包括 .doc、.docx、.ipch 等。因此,它耗尽内存的原因是它试图读取一些它认为是 300mb 纯代码的文件,但实际上应该忽略它。

解决方案:查找项目中所有文件使用的扩展名 ( see more here ):

dir /s /b | perl -ne 'print $1 if m/\.([^^.\\\\]+)$/' | sort -u | grep c

然后将这些其他扩展添加为 sonar.properties 文件中的排除项:

sonar.exclusions=**/*.doc,**/*.docx,**/*.ipch

然后将您的内存限制设置回常规数量。

%JAVA_EXEC% -Xmx1024m -XX:MaxPermSize=512m -XX:ReservedCodeCacheSize=128m %SONAR_RUNNER_OPTS% ...

关于sonarqube - Sonar - 内存不足错误 : Java heap space,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12967427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com