【问题标题】:Sonarqube closes randomlySonarqube 随机关闭
【发布时间】:2017-05-20 04:37:49
【问题描述】:

我刚刚在带有 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

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

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

【问题讨论】:

  • 您应该检查文件$SONARQUBE_HOME/temp/sharedmemory 没有被其他进程删除或触及。请注意,临时目录的路径可以使用属性sonar.path.temp 进行配置
  • 有什么办法可以“看到”这个吗?我可以在日志中清楚地看到服务器正在关闭,我所缺少的是原因。

标签: sonarqube sonarqube-ops


【解决方案1】:

过去在 Linux 上关闭 SQ 的原因是 Linux 进程“OOM killer”杀死了 SQ 的 4 个 JVM(这里似乎是 CE 的 JVM)中的任何一个,因为系统内存不足.

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

【讨论】:

  • 我在另一台有空闲内存的服务器上以完全相同的方式安装了 sonarqube,此后它没有关闭。感谢您的回答和有关 OOM Killer 的知识:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-11
  • 2016-09-02
  • 2013-12-28
相关资源
最近更新 更多