java.lang.OutOfMemoryError: Java heap space starting SonarQube 7.9

java.lang.OutOfMemoryError: Java heap space starting SonarQube 7.9

我正在尝试将我们的 SonarQube 从 6.7.4 升级到 7.9.3 但是当执行时:

SONARQUBE_HOME/bin/linux-x86-64/sonar.sh start

我在 SONARQUBE_HOME/logs/sonar.log 文件中得到以下内容:

--> Wrapper Started as Daemon
Launching a JVM...
JVM exited while loading the application.
java.lang.OutOfMemoryError: Java heap space
Dumping heap to java_pid30868.hprof ...
Heap dump file created [8502105 bytes in 0.031 secs]
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    at java.base/java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1470)
    at java.base/java.util.zip.ZipFile$Source.<init>(ZipFile.java:1274)
    at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1237)
    at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:727)
    at java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:844)
    at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:247)
    at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:177)
    at java.base/java.util.jar.JarFile.<init>(JarFile.java:348)
    at java.base/jdk.internal.loader.URLClassPath$JarLoader.getJarFile(URLClassPath.java:813)
    at java.base/jdk.internal.loader.URLClassPath$JarLoader.run(URLClassPath.java:758)
    at java.base/jdk.internal.loader.URLClassPath$JarLoader.run(URLClassPath.java:751)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/jdk.internal.loader.URLClassPath$JarLoader.ensureOpen(URLClassPath.java:750)
    at java.base/jdk.internal.loader.URLClassPath$JarLoader.<init>(URLClassPath.java:725)
    at java.base/jdk.internal.loader.URLClassPath.run(URLClassPath.java:493)
    at java.base/jdk.internal.loader.URLClassPath.run(URLClassPath.java:476)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/jdk.internal.loader.URLClassPath.getLoader(URLClassPath.java:475)
    at java.base/jdk.internal.loader.URLClassPath.getLoader(URLClassPath.java:444)
    at java.base/jdk.internal.loader.URLClassPath.next(URLClassPath.java:340)
    at java.base/jdk.internal.loader.URLClassPath.hasMoreElements(URLClassPath.java:351)
    at java.base/jdk.internal.loader.BuiltinClassLoader.hasNext(BuiltinClassLoader.java:355)
    at java.base/jdk.internal.loader.BuiltinClassLoader.hasMoreElements(BuiltinClassLoader.java:363)
    at java.base/java.lang.CompoundEnumeration.next(ClassLoader.java:3032)
    at java.base/java.lang.CompoundEnumeration.hasMoreElements(ClassLoader.java:3041)
    at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1202)
    at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1220)
    at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1264)
    at java.base/java.util.ServiceLoader.hasNext(ServiceLoader.java:1299)
    at java.base/java.util.ServiceLoader$ProviderSpliterator.tryAdvance(ServiceLoader.java:1483)
    at java.base/java.util.Spliterator.forEachRemaining(Spliterator.java:326)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
JVM Restarts disabled.  Shutting down.
<-- Wrapper Stopped

SONARQUBE_HOME/conf/sonar.属性:

sonar.web.javaOpts=-server -Xmx4096m -Xms512m -XX:+HeapDumpOnOutOfMemoryError -Djava.net.preferIPv4Stack=true

sonar.ce.javaOpts=-server -Xmx4096m -Xms512m -XX:+HeapDumpOnOutOfMemoryError

OpenJDK 11.0.7

如果您需要更多信息,请告诉我。非常感谢。

我们发现了问题。

"SONARQUBE_HOME/conf/wrapper.conf" 文件 "DO NOT EDIT THE FOLLOWING SECTIONS" 部分的 "wrapper.java.maxmemory" 值被错误地从“32”(SonarQube 启动良好)更改为“8”(OutOfMemoryError) .