java - SonarQube 服务器日志显示超出了 GC 开销限制并且 TERM 被捕获正在关闭

标签 java sonarqube

服务器环境: SonarQube – 6.7.7 和 Openjdk 版本 - “1.8.0_222”

问题:突然我们的 sonarqube Web 应用程序开始挂起。从sonar.log发现以下错误。

java.lang.OutOfMemoryError: GC overhead limit exceeded
Dumping heap to java_pid21155.hprof ...
Heap dump file created [10548624193 bytes in 50.277 secs]
TERM trapped.  Shutting down.

修复相同的问题。增加了 $SONAR_HOME/conf/sonar.properties 文件中的 Web 服务器、计算引擎和 Elastic Search 值。

网络服务器:

sonar.web.javaOpts=-Xmx8G -Xms512m -XX:+HeapDumpOnOutOfMemoryError

计算引擎:

sonar.ce.javaOpts=-Xmx8G -Xms512m -XX:+HeapDumpOnOutOfMemoryError

Elasticsearch :

sonar.search.javaOpts=-Xms6G -Xmx6G -XX:+HeapDumpOnOutOfMemoryError

但没有成功。然后发现服务正在使用 jre 路径 -/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64/jre/bin/java 运行。因此在 $SONAR_HOME/conf/wrapper.conf 文件中进行了更新

wrapper.java.command=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64/bin/java 

但是服务重启后仍然只运行jre/bin/java。然后我配置了 JAVA_HOME 指向我的 JDK,但它仍然通过 jre 运行,任何输入都将有助于解决问题。

最佳答案

通过将 Web 服务器、计算引擎和 Elasticsearch 的 -Xms512m 值增加到 -Xms4G 参数解决了问题。

关于java - SonarQube 服务器日志显示超出了 GC 开销限制并且 TERM 被捕获正在关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57722952/

相关文章:

sonarqube - 无法从服务器获取 Bootstrap 索引

Java 游戏区难度

java - 如何使用java将excel数据存储在结果集中

sonarqube - 更改 SonarQube 6.4 中的默认规则类型

sonarqube - 无权在Travis CI上使用 Sonar 扫描仪执行任何 Sonar 分析

azure - 将多个 .NET Core 项目的测试覆盖率从 Azure DevOps 发布到 SonarQube 服务器

java - 使用带有 @FormParam 的 POST 获取 405 "Method Not Allowed"错误(带有 Jersey REST 的 Java Web 服务)

java - 使用 HTTPHandler 上传文件

java - querydsl - 列表条件

node.js - 属性文件排除多个路径