Sonarqube 随机关闭

Sonarqube closes randomly

我刚刚在带有 postgres 数据库的 linux 服务器上安装了 sonarqube 6.2。

我遇到了一些数据库断开连接的问题,我显然是通过在配置中取消注释来修复的:

sonar.jdbc.maxActive=60
sonar.jdbc.maxIdle=5
sonar.jdbc.minIdle=2
sonar.jdbc.maxWait=5000
sonar.jdbc.validationQuery=select 1
sonar.jdbc.minEvictableIdleTimeMillis=600000
sonar.jdbc.timeBetweenEvictionRunsMillis=30000

但是服务器一直随机关闭(启动后约 1-2 小时),日志上没有任何内容,

==> logs/ce.log <==
2017.01.05 15:40:38 INFO  ce[][o.s.p.StopWatcher] Stopping process

==> logs/sonar.log <==
2017.01.05 15:40:38 INFO  app[][o.s.p.m.Monitor] Process[ce] is stopping

==> logs/ce.log <==
2017.01.05 15:40:39 INFO  ce[][o.s.ce.app.CeServer] Compute Engine shutting down...

==> logs/sonar.log <==
2017.01.05 15:40:41 INFO  app[][o.s.p.m.Monitor] Process[ce] is stopped
2017.01.05 15:40:41 INFO  app[][o.s.p.m.Monitor] Process[es] is stopping

==> logs/es.log <==
2017.01.05 15:40:42 INFO  es[][o.s.p.StopWatcher] Stopping process
2017.01.05 15:40:42 INFO  es[][o.elasticsearch.node] [sonarqube] stopping ...
2017.01.05 15:40:42 INFO  es[][o.elasticsearch.node] [sonarqube] stopped
2017.01.05 15:40:42 INFO  es[][o.elasticsearch.node] [sonarqube] closing ...
2017.01.05 15:40:42 INFO  es[][o.elasticsearch.node] [sonarqube] closed

==> logs/sonar.log <==
2017.01.05 15:40:43 INFO  app[][o.s.p.m.Monitor] Process[es] is stopped
<-- Wrapper Stopped

我的第一个猜测是这可能是数据库连接超时的问题?但是数据库安装在同一台机器上,它真的随机停止:

2017.01.05 03:07:14 INFO  app[][o.s.application.App] SonarQube is up
2017.01.05 05:38:06 INFO  app[][o.s.p.m.Monitor] Process[ce] is stopping

2017.01.05 11:07:53 INFO  app[][o.s.application.App] SonarQube is up
2017.01.05 12:36:52 INFO  app[][o.s.p.m.Monitor] Process[ce] is stopping

2017.01.05 14:22:03 INFO  app[][o.s.application.App] SonarQube is up
2017.01.05 15:40:38 INFO  app[][o.s.p.m.Monitor] Process[ce] is stopping

任何帮助将不胜感激,谢谢

编辑:它只是在我使用它时崩溃了,服务器交换了很多,我会尝试释放一些 ram(顺便说一句,我有 sonar.web.javaOpts=-Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -server 但没有显示转储)

SQ 在 Linux 上的这种关闭在过去已由 Linux 进程“OOM killer”杀死 SQ 的 4 个 JVM 中的任何一个(此处似乎是CE 的 JVM),因为系统 运行 内存不足。

您应该确保您没有配置 SQ(通过添加每个进程的最大堆)消耗比系统可用内存更多的内存。