System requirements

This section provides an overview of the system requirements for running Neo4j in a production environment.

Neo4j can be installed in many environments and for different scopes, therefore system requirements largely depends on the use of the software. This section distinguishes between a personal/development installation, and a server-based installation.

Neo4j Aura is a fully managed Neo4j database, hosted in the cloud and requires no installation. For more information, see the Aura product and support pages.

1. Supported platforms

Neo4j is supported on systems with x86_64 architectures, whether they are a physical, virtual, or containerized environments.

2. Hardware requirements

In terms of hardware requirements, follow these guidelines:

Table 1. Hardware requirement guidelines.

CPU

Performance is generally memory or I/O bound for large graphs, and compute bound for graphs that fit in memory.

Memory

More memory allows for larger graphs, but it needs to be configured properly to avoid disruptive garbage collection operations.

Storage

Aside from capacity, the performance characteristics of the disk are the most important when selecting storage:

  • Neo4j workloads tend significantly toward random reads.

  • Select media with low average seek time: SSD over spinning disks.

  • Consult Disks, RAM and other tips for more details.

For personal use and software development:

Table 2. Hardware requirement guidelines for personal use and software development.

CPU

Intel Core i3 minimum, Intel Core i7 recommended.

Memory

2GB minimum, 16GB or more recommended.

Storage

10GB SATA Minimum, SSD with SATA Express or NVMe recommended.

For cloud environments:

Table 3. Hardware requirement guidelines for cloud environments.

CPU

2vCPU minimum, 16+ recommended, possibly Xeon processors.

Memory

2GB minimum, size depends on workloads: in some cases, it is recommended to use instances with memory that fits the size of the graph in use.

Storage

10GB minimum block storage, attached NVMe SSD recommended.

Storage size depends on the size of the databases.

For server-based, on-premise environments:

Table 4. Hardware requirement guidelines for server-based, on-premise environments.

CPU

Intel Xeon processors.

Memory

8GB minimum, size depends on workloads; in some cases, it is recommended to use instances with memory that fits the size of the graph in use.

Storage

SATA i7.2K RPM 6Gbps Hard Drive minimum, NVMe SSD recommended.

Storage size depends on the size of the databases.

3. Software requirements

For personal use and software development:

Table 5. Software requirements for personal use and software development.
Operating System Supported JDK

MacOS 10.14+

ZuluJDK 11

Ubuntu Desktop 16.04+

OpenJDK 11, OracleJDK 11, and ZuluJDK 11

Debian 9+

OpenJDK 11, OracleJDK 11, and ZuluJDK 11

SuSE 15+

Oracle JDK 11

Windows 10

OracleJDK 11 and ZuluJDK 11

For cloud environments, and server-based, on-premise environments:

Table 6. Software requirements for cloud environments, and server-based, on-premise environments.
Operating System Supported JDK

Ubuntu Server 16.04+

OpenJDK 11, OracleJDK 11, and ZuluJDK 11

Red Hat Enterprise Linux Server 7.5+

Red Hat OpenJDK 11, Oracle JDK 11, and ZuluJDK 11

CentOS Server 7.7

OpenJDK 11

Amazon Linux 2 AMI

Amazon Corretto 11, OpenJDK 11, and OracleJDK 11

Windows Server 2016+

OracleJDK 11 and ZuluJDK 11

4. Filesystem

For proper ACID behavior, the filesystem must support flush (fsync, fdatasync). See Linux file system tuning for a discussion on how to configure the filesystem in Linux for optimal performance.

5. Java

It is required to have a pre-installed, compatible Java Virtual Machine (JVM), to run a Neo4j instance.

Table 7. Neo4j version and JVM requirements.
Neo4j Version JVM compliancy

3.x

Java SE 8 Platform Specificaton

4.x

Java SE 11 Platform Specificaton

Neo4j Desktop is available for developers and personal users. Neo4j Desktop is bundled with a JVM.