JVM error 'OutOfMemoryError : GC overhead limit exceeded'

Hi Community,

We recently updated from 3.10.1-01 to 3.23.0-03.
But we start having daily JVM memory crashes.

It almost always occurs when retrieving nuget packages.

The error looks as following:
Failed to download package ‘AutoMapper.Collection.5.0.0’ from ‘https://nexus.flowpilots.com/repository/nuget/AutoMapper.Collection/5.0.0’.
build 27-May-2020 09:05:09 Response status code does not indicate success: 500 (javax.servlet.ServletException: com.orientechnologies.orient.core.exception.OJVMErrorException: JVM error ‘OutOfMemoryError : GC overhead limit exceeded’ occurred during data processing, storage is switched to ‘read-only’ mode. To prevent this exception please restart the JVM and check data consistency by calling of ‘check database’ command from database console.?? DB name=“component”)

We have following options set:
-Xms2000m
-Xmx2000m
-XX:MaxDirectMemorySize=2G
-XX:+UnlockDiagnosticVMOptions
-XX:+LogVMOutput
-XX:LogFile=/var/log/sonatype/nexus/jvm.log
-XX:-OmitStackTraceInFastThrow
-Djava.net.preferIPv4Stack=true
-Dkaraf.home=.
-Dkaraf.base=.
-Dkaraf.etc=etc/karaf
-Djava.util.logging.config.file=etc/karaf/java.util.logging.properties
-Dkaraf.data=/var/sonatype/nexus
-Dkaraf.log=/var/log/sonatype/nexus
-Djava.io.tmpdir=/var/sonatype/nexus/tmp
-Dkaraf.startLocalConsole=false
-Djava.endorsed.dirs=lib/endorsed

Our server is running Ubuntu 16.04.3
It has 2 vCPU and 4GB.

Previously this was all working without issues.

Thanks in advance.

Kind regards,
Johan Soetewey
Flow Pilots

The machine does not have sufficient RAM, and Nexus Repo’s memory allocations aren’t sufficient. Please see here for our recommendations:

https://help.sonatype.com/display/NXRM3/System+Requirements#SystemRequirements-MemoryRequirements

Rich