Amazon ec2 如何修复sonarqube服务器6.7.2.37468上的内存不足问题

Amazon ec2 如何修复sonarqube服务器6.7.2.37468上的内存不足问题,amazon-ec2,sonarqube,out-of-memory,Amazon Ec2,Sonarqube,Out Of Memory,当Sonarqube服务器版本6.7.2在AWS EC2实例上运行时,大约每月一次,出现内存不足错误,服务器关闭,我们需要手动重新启动,OS/JRE级别或应用程序服务器级别存在内存泄漏或错误的安装配置 一开始,sonarqube服务器由于内存不足问题每月停机两次,我们遵循PRD实例的官方设置文件,尝试在EC2实例上垂直扩展容量,从t2.small扩展到t2.medium,并使用更多内存运行3个java进程: For Web: sonar.web.javaOpts=-Xms256m -Xmx10

当Sonarqube服务器版本6.7.2在AWS EC2实例上运行时,大约每月一次,出现内存不足错误,服务器关闭,我们需要手动重新启动,OS/JRE级别或应用程序服务器级别存在内存泄漏或错误的安装配置

一开始,sonarqube服务器由于内存不足问题每月停机两次,我们遵循PRD实例的官方设置文件,尝试在EC2实例上垂直扩展容量,从t2.small扩展到t2.medium,并使用更多内存运行3个java进程:

For Web:
 sonar.web.javaOpts=-Xms256m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError  

For ElasticSearch: 
 sonar.search.javaOpts=-Xms1024m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError

For Compute Engine:
 sonar.ce.javaOpts=-Xms256m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError
但问题仍然存在

--> Wrapper Started as Daemon
Launching a JVM...
Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
  Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.

2019.04.29 06:59:38 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating 
temp directory /opt/sonarqube-6.7.2/temp
2019.04.29 06:59:38 INFO  app[][o.s.a.es.EsSettings] Elasticsearch 
listening on /127.0.0.1:9001
2019.04.29 06:59:38 INFO  app[][o.s.a.p.ProcessLauncherImpl] Launch 
process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from                 [/opt/sonarqube-6.7.2/elasticsearch]: /opt/sonarqube-    6.7.2/elasticsearch/bin/elasticsearch -Epath.conf=/opt/sonarqube-    6.7.2/temp/conf/es
2019.04.29 06:59:38 INFO  app[][o.s.a.SchedulerImpl] Waiting for     Elasticsearch to be up and running
2019.04.29 06:59:39 INFO  app[][o.e.p.PluginsService] no modules loaded
2019.04.29 06:59:39 INFO  app[][o.e.p.PluginsService] loaded plugin     [org.elasticsearch.transport.Netty4Plugin]
2019.04.29 07:00:00 INFO  app[][o.s.a.SchedulerImpl] Process[es] is up
2019.04.29 07:00:00 INFO  app[][o.s.a.p.ProcessLauncherImpl] Launch     process[[key='web', ipcIndex=2, logFilenamePrefix=web]] from [/opt/sonarqube-    6.7.2]: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-    1.el7_6.x86_64/jre/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -    Djava.io.tmpdir=/opt/sonarqube-6.7.2/temp -Xmx1024m -Xms256m -    XX:+HeapDumpOnOutOfMemoryError -Dhttp.proxyHost= -Dhttp.proxyPort= -    Dhttp.auth.ntlm.domain= -DsocksProxyHost= -DsocksProxyPort= -Dhttps.proxyHost=     -Dhttps.proxyPort= -cp ./lib/common/*:./lib/server/*:/opt/sonarqube-    6.7.2/lib/jdbc/postgresql/postgresql-42.2.1.jar org.sonar.server.app.WebServer     /opt/sonarqube-6.7.2/temp/sq-process5028201971842772853properties
2019.04.29 07:00:25 INFO  app[][o.s.a.SchedulerImpl] Process[web] is up
2019.04.29 07:00:25 INFO  app[][o.s.a.p.ProcessLauncherImpl] Launch     process[[key='ce', ipcIndex=3, logFilenamePrefix=ce]] from [/opt/sonarqube-    6.7.2]: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-    1.el7_6.x86_64/jre/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -    Djava.io.tmpdir=/opt/sonarqube-6.7.2/temp -Xms256m -Xmx1024m -    XX:+HeapDumpOnOutOfMemoryError -Dhttp.proxyHost= -Dhttp.proxyPort= -    Dhttp.auth.ntlm.domain= -DsocksProxyHost= -DsocksProxyPort= -Dhttps.proxyHost=     -Dhttps.proxyPort= -cp     ./lib/common/*:./lib/server/*:./lib/ce/*:/opt/sonarqube-    6.7.2/lib/jdbc/postgresql/postgresql-42.2.1.jar org.sonar.ce.app.CeServer     /opt/sonarqube-6.7.2/temp/sq-process7912202285523412339properties
2019.04.29 07:00:30 INFO  app[][o.s.a.SchedulerImpl] Process[ce] is up
2019.04.29 07:00:30 INFO  app[][o.s.a.SchedulerImpl] SonarQube is up
2019.04.29 15:10:28 INFO  app[][o.s.a.SchedulerImpl] Process [ce] is     stopped
2019.04.29 15:10:31 INFO  app[][o.s.a.SchedulerImpl] Process [web] is stopped
2019.04.29 15:10:31 WARN  app[][o.s.a.p.AbstractProcessMonitor] Process exited with exit value [es]: 143
2019.04.29 15:10:31 INFO  app[][o.s.a.SchedulerImpl] Process [es] is stopped
2019.04.29 15:10:31 INFO  app[][o.s.a.SchedulerImpl] SonarQube is restarting
2019.04.29 15:10:31 WARN  app[][o.s.a.p.AbstractProcessMonitor] Process exited with exit value [es]: 143
2019.04.29 15:10:31 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube-6.7.2/temp
2019.04.29 15:10:31 INFO  app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001
2019.04.29 15:10:31 INFO  app[][o.s.a.p.ProcessLauncherImpl] Launch     process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [/opt/sonarqube-    6.7.2/elasticsearch]: /opt/sonarqube-6.7.2/elasticsearch/bin/elasticsearch -    Epath.conf=/opt/sonarqube-6.7.2/temp/conf/es
2019.04.29 15:10:31 INFO  app[][o.e.p.PluginsService] no modules loaded
2019.04.29 15:10:31 INFO  app[][o.e.p.PluginsService] loaded plugin     [org.elasticsearch.transport.Netty4Plugin]
2019.04.29 15:10:51 INFO  app[][o.s.a.SchedulerImpl] Process[es] is up
2019.04.29 15:10:51 INFO  app[][o.s.a.p.ProcessLauncherImpl] Launch     process[[key='web', ipcIndex=2, logFilenamePrefix=web]] from [/opt/sonarqube-    6.7.2]: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-        1.el7_6.x86_64/jre/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -        Djava.io.tmpdir=/opt/sonarqube-6.7.2/temp -Xmx1024m -Xms256m -    XX:+HeapDumpOnOutOfMemoryError -Dhttp.proxyHost= -Dhttp.proxyPort= -    Dhttp.auth.ntlm.domain= -DsocksProxyHost= -DsocksProxyPort= -Dhttps.proxyHost=     -Dhttps.proxyPort= -cp ./lib/common/*:./lib/server/*:/opt/sonarqube-    6.7.2/lib/jdbc/postgresql/postgresql-42.2.1.jar org.sonar.server.app.WebServer     /opt/sonarqube-6.7.2/temp/sq-process2158511348006070798properties
2019.04.29 15:11:12 INFO  app[][o.s.a.SchedulerImpl] Process[web] is up
2019.04.29 15:11:12 INFO  app[][o.s.a.p.ProcessLauncherImpl] Launch     process[[key='ce', ipcIndex=3, logFilenamePrefix=ce]] from [/opt/sonarqube-    6.7.2]: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-    1.el7_6.x86_64/jre/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -    Djava.io.tmpdir=/opt/sonarqube-6.7.2/temp -Xms256m -Xmx1024m -    XX:+HeapDumpOnOutOfMemoryError -Dhttp.proxyHost= -Dhttp.proxyPort= -    Dhttp.auth.ntlm.domain= -DsocksProxyHost= -DsocksProxyPort= -Dhttps.proxyHost=     -Dhttps.proxyPort= -cp     ./lib/common/*:./lib/server/*:./lib/ce/*:/opt/sonarqube-    6.7.2/lib/jdbc/postgresql/postgresql-42.2.1.jar org.sonar.ce.app.CeServer     /opt/sonarqube-6.7.2/temp/sq-process1917579452884722345properties
2019.04.29 15:11:17 INFO  app[][o.s.a.SchedulerImpl] Process[ce] is up
2019.04.29 15:11:17 INFO  app[][o.s.a.SchedulerImpl] SonarQube is up
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000dbc80000, 43515904, 0) failed; error='Cannot     allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 43515904 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /opt/sonarqube-6.7.2/hs_err_pid10967.log
2019.05.14 09:56:08 WARN  app[][o.s.a.p.AbstractProcessMonitor] Process     exited with exit value [ce]: 1
2019.05.14 09:56:08 INFO  app[][o.s.a.SchedulerImpl] Process [ce] is stopped
2019.05.14 09:56:11 INFO  app[][o.s.a.SchedulerImpl] Process [web] is stopped
2019.05.14 09:56:11 INFO  app[][o.s.a.SchedulerImpl] Process [es] is stopped
2019.05.14 09:56:11 WARN  app[][o.s.a.p.AbstractProcessMonitor] Process exited with exit value [es]: 143
2019.05.14 09:56:11 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped
<-- Wrapper Stopped
-->包装器作为守护进程启动
正在启动JVM。。。
包装器(版本3.2.3)http://wrapper.tanukisoftware.org
1999-2006塔努基软件有限公司版权所有。保留所有权利。
2019.04.29 06:59:38信息应用程序[][o.s.a.AppFileSystem]清理或创建
临时目录/opt/sonarqube-6.7.2/temp
2019.04.29 06:59:38信息应用程序[]弹性搜索
收听/127.0.0.1:9001
2019.04.29 06:59:38信息应用程序[][o.s.a.p.ProcessLauncherImpl]发布
从[/opt/sonarqube-6.7.2/elasticsearch]:/opt/sonarqube-6.7.2/elasticsearch/bin/elasticsearch-Epath.conf=/opt/sonarqube-6.7.2/temp/conf/es]处理[[key='es',ipindex=1,logfilenameffix=es]]
2019.04.29 06:59:38信息应用程序[][o.s.a.SchedulerImpl]正在等待Elasticsearch启动并运行
2019.04.29 06:59:39信息应用程序[][o.e.p.PluginsService]未加载模块
2019.04.29 06:59:39信息应用程序[][o.e.p.PluginsService]加载的插件[org.elasticsearch.transport.Netty4Plugin]
2019.04.29 07:00:00信息应用程序[][o.s.a.SchedulerImpl]流程启动
2019.04.29 07:00:00信息应用程序[][o.s.a.p.ProcessLauncherImpl]启动过程[[key='web',IPCDINDEX=2,logFilenamePrefix=web]]来自[/opt/sonarqube-6.7.2]:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre/bin/java-Djava.awt.headless=true-Dfile.encoding=UTF-8-Djava.io.tmpdir=/opt/sonaqube-6.7.2/temp-Xmx1024m-Xms256m-XX:+heapdumponotofmemoryError-Dhttp.proxyHost=-Dhttp.proxyPort=-Dhttp.auth.proxyPort=-dom=-oxydsprockhost=-dshosthost=-oxyHost=-dshock=-Dhttps.proxyPort=-cp./lib/common/*:./lib/server/*:/opt/sonarqube-6.7.2/lib/jdbc/postgresql/postgresql-42.2.1.jar org.sonar.server.app.WebServer/opt/sonarqube-6.7.2/temp/sq-process502821971842772853属性
2019.04.29 07:00:25信息应用程序[][o.s.a.SchedulerImpl]进程[web]启动
2019.04.29 07:00:25信息应用程序[][o.s.a.p.ProcessLauncherImpl]启动过程[[key='ce',ipindex=3,logFilenamePrefix=ce]]来自[/opt/sonarqube-6.7.2]:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre/bin/java-Djava.awt.headless=true-Dfile.encoding=UTF-8-Djava.io.tmpdir=/opt/sonaqube-6.7.2/temp-Xms256m-Xmx1024m-XX:+heapdumponautofmemoryError-Dhttp.proxyHost=-Dhttp.proxyPort=-Dhttp.auth.proxyPort=-dom.oxydsport=-dsockhost=-oxydhosthost=-Dhttps.proxyPort=-cp./lib/common/*:./lib/server/*:./lib/ce/*:/opt/sonarqube-6.7.2/lib/jdbc/postgresql/postgresql-42.2.1.jar org.sonar.ce.app.CeServer/opt/sonarqube-6.7.2/temp/sq-process791220228552339properties
2019.04.29 07:00:30信息应用程序[][o.s.a.SchedulerImpl]进程[ce]启动
2019.04.29 07:00:30信息应用程序[][o.s.a.SchedulerImpl]SonarQube启动
2019.04.29 15:10:28信息应用程序[][o.s.a.SchedulerImpl]进程[ce]已停止
2019.04.29 15:10:31信息应用程序[][o.s.a.SchedulerImpl]进程[web]已停止
2019.04.29 15:10:31警告应用程序[][o.s.a.p.AbstractProcessMonitor]进程已退出,退出值为[es]:143
2019.04.29 15:10:31信息应用程序[][o.s.a.SchedulerImpl]进程停止
2019.04.29 15:10:31信息应用程序[][o.s.a.SchedulerImpl]SonarQube正在重新启动
2019.04.29 15:10:31警告应用程序[][o.s.a.p.AbstractProcessMonitor]进程已退出,退出值为[es]:143
2019.04.29 15:10:31信息应用程序[][o.s.a.AppFileSystem]清理或创建临时目录/opt/sonarqube-6.7.2/temp
2019.04.29 15:10:31信息应用程序[][o.s.a.es.EsSettings]Elasticsearch收听/127.0.0.1:9001
2019.04.29 15:10:31信息应用程序[][o.s.a.p.ProcessLauncherImpl]启动过程[[key='es',ipindex=1,logFilenamePrefix=es]]来自[/opt/sonaqube-6.7.2/elasticsearch]:/opt sonaqube-6.7.2/elasticsearch/bin/elasticsearch-Epath.conf=/opt/sonaqube-6.7.2/temp/conf/es
2019.04.29 15:10:31信息应用程序[][o.e.p.PluginsService]未加载模块
2019.04.29 15:10:31信息应用程序[][o.e.p.PluginsService]加载的插件[org.elasticsearch.transport.Netty4Plugin]
2019.04.29 15:10:51信息应用程序[][o.s.a.SchedulerImpl]流程启动
2019.04.29 15:10:51信息应用程序[][o.s.a.p.ProcessLauncherImpl]启动过程[[key='web',IPCDINDEX=2,logFilenamePrefix=web]]来自[/opt/sonarqube-6.7.2]:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre/bin/java-Djava.awt.headless=true-Dfile.encoding=UTF-8-Djava.io.tmpdir=/opt/sonaqube-6.7.2/temp-Xmx1024m-Xms256m-XX:+heapdumponotofmemoryError-Dhttp.proxyHost=-Dhttp.proxyPort=-Dhttp.auth.proxyPort=-oxydsprockhost=-oxydsport=-Dhttps.proxyHost=-Dhttps.proxyPort=-cp./lib/common/*:./lib/server/*:/opt/sonarqube-6.7.2/lib/jdbc/postgresql/postgresql-42.2.1.jar org.sonar.server.app.WebServer/opt/sonarqube-6.7.2/temp/sq-process215813480060798properties
2019.04.29 15:11:12信息应用程序[][o.s.a.SchedulerImpl]进程[web]启动
2019.04.29 15:11:12信息应用程序[][o.s.a.p.ProcessLauncherImpl]启动过程[[key='ce',ipcdex=3,logFilenamePrefix=ce]]来自[/opt/sonaqube-6.7.2]:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre/bin/java-Djava.awt.headless=true-Dfile.encoding=UTF-8-Djava.io.tmpdir=/opt/sonaqube-6.7.2/temp-Xms256m-Xmx1024m-XX:+heapdumponautofmemoryError-Dhttp.proxyHost=-Dhttp.proxyPort=-Dhttp.auth.proxyPort=-Dhttp.dom=-oxydsprockhost=-dshosthost=-oxydhosthost=-oxydsport=-dom=