Sonatype fully supports versions of repository manager for one year after the release date. Older releases are supported on a best effort basis and the release dates are listed in our download archives.
Any Windows, Linux, or Macintosh operating system that can run a supported Sun/Oracle Java version will work. Other operating systems may work, but they are not tested by Sonatype. See here for the list of Oracle certified operating systems.
The most widely used operating system for Nexus is Linux and therefore customers should consider it the best tested platform.
Unless you are just testing Nexus or running it only for personal use, a dedicated operating system user account is strongly recommended to run each unique Nexus process on a given host.
The Nexus process user is typically named 'nexus' and must be able to create a valid shell.
Important: As a security precaution, do not run Nexus as the root user.
Nexus 3.x will most likely want to consume more file handles than the per user default value allowed by your Linux or OSX operating system.
Running out of file descriptors can be disastrous and will most probably lead to data loss. Make sure to increase the limit on the number of open files descriptors for the user running Nexus Repository Manager permanently to 65,536 or higher prior to starting Nexus.
See https://issues.sonatype.org/browse/NEXUS-12041 for additional background.
Windows operating systems do not need file handle limit adjustments.
On most Linux systems, persistent limits can be set for a particular user by editing the
/etc/security/limits.conf file. To set the maximum number of open files for both soft and hard limits for the
nexus user to 65536, add the following line to the
nexus - nofile 65536
This change will only take effect the next time the
nexus process user opens a new session. Which essentially means that you will need to restart Nexus.
On Ubuntu systems there is a caveat - Ubuntu ignores the
/etc/security/limits.conf file for processes started by
So if nexus is started using init.d there, edit
/etc/pam.d/common-session and uncomment the following line ( remove the hash # and space at the beginning of the line):
# session required pam_limits.so
For more information refer to your specific operating system documentation.
Note: If you're using systemd to launch the server the above won't work. Instead, modify the configuration file to add a "LimitNOFILE" line:
[Unit] Description=nexus service After=network.target [Service] Type=forking LimitNOFILE=65536 ExecStart=/opt/nexus/bin/nexus start ExecStop=/opt/nexus/bin/nexus stop User=nexus Restart=on-abort [Install] WantedBy=multi-user.target
Sonatype Nexus Repository Manager 3 is a Java server application that requires specific versions to operate.
OpenJDK has been known to work in most cases, but we do not actively test it. GCJ will not work and is not supported.
IBM JDK can be used on systems that do not have a Sun/Oracle JRE available, but our support of this is done on a best effort basis.
Nexus performance is primarily bounded by IO (disk and network) rather than CPU. So any reasonably modern 4 core (or better) CPU will generally be sufficient for normal uses of Nexus.
The default JRE min and max heap size of Nexus 3 is pre-configured to be 1200Mb, which should be considered an absolute minimum. The codebase will consume approximately another 1Gb. So factoring in operating system overhead you will need at least 4Gb of RAM on a dedicated Nexus host, assuming no other large applications are running on the machine.
Increasing the JVM heap memory larger than recommended values in an attempt to improve performance is not recommended. This actually can have the opposite effect, causing the operating system to thrash needlessly.
Unless you have evidence that a max heap of 4GB is consistently utilized and/or there are frequent lengthy garbage collection pauses that cannot be explained by software bugs, then do not set max heap size larger than 4GB.
General Memory Guidelines
- set minimum heap should always equal set maximum heap
- minimum heap size 1200MB
- maximum heap size <= 4GB
- minimum MaxDirectMemory size 2GB
- minimum unallocated physical memory should be no less than 1/3 of total physical RAM to allow for virtual memory swap
- max heap + max direct memory <= host physical RAM * 2/3
Instance Sizing Profiles
Here are instance profiles you can use to gauge the typical physical memory requirements needed for a dedicated server host running repository manager. Due to the inherent complexities of use cases, one size does not fit all and this should only be interpreted as a guideline.
|Profile Use Case||Physical Memory RAM|
repositories < 20
repositories < 50
repositories > 50
Example Maximum Memory Configurations
Example Maximum Memory Configuration
-Xms1200M -Xmx1200M -XX:MaxDirectMemorySize=2G
-Xms2703M -Xmx2703M -XX:MaxDirectMemorySize=2703M
-Xms4G -Xmx4G -XX:MaxDirectMemorySize=4014M
-Xms4G -Xmx4G -XX:MaxDirectMemorySize=6717M
-Xms4G -Xmx4G -XX:MaxDirectMemorySize=17530M
-Xms4G -Xmx4G -XX:MaxDirectMemorySize=39158M
Advanced Database Memory Tuning
Sonatype Nexus 3 installed consumes around 500 MB. The bulk of disk space will be held by your deployed and proxied artifacts, as well as any search indexes. This is highly installation specific, and will be dependent on the repository formats used, and the number of artifacts stored, the size of your teams and projects, etc. It's best to plan for a lot though, formats like Docker and Maven can use very large amounts of storage (500Gb easily).
We have some optimization suggestions to use at your discretion. We strongly recommend to avoid using NFS for anything other than blob storage in Nexus 3, especially in large installations, as this can cause severe performance degradation. Also consider the noatime option for your Nexus work directory mounts and limit the symbolic links used as this will cause increased overhead whenever Nexus needs to resolve an absolute file path.
Our general policy is to support the most recent modern browser version for your supported OS at time of Nexus release date. This table is updated for the most recent Nexus release.
|Google Chrome||latest at Nexus release|
|Firefox||latest and ESR at Nexus release|
|Safari||on OSX only, latest at Nexus release|
|Opera||untested and not supported|
|Internet Explorer||9, 10, 11 Check this article for known issues.|
|Microsoft Edge||latest at Nexus release|