System requirements

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 AuraDB is a fully managed Neo4j database, hosted in the cloud and requires no installation. For more information, see the AuraDB product page and AuraDB documentation.

Supported platforms

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

Hardware requirements

In terms of minimum 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.

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 18.04+

OpenJDK 11, OracleJDK 11, and ZuluJDK 11

Debian 10, 11, 12

OpenJDK 11 (except Debian 12), 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

Amazon Linux AMI 2018.03+

Amazon Corretto 11, OpenJDK 11, and OracleJDK 11

CentOS Stream 8, 9

OpenJDK 11

Debian 11

OpenJDK 11, OracleJDK 11

Red Hat Enterprise Linux Server 8.6, 8.8, 9.0, 9.2

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

Ubuntu Server 18.04+

OpenJDK 11, OracleJDK 11, and ZuluJDK 11

Windows Server 2016, 2019, 2022

OracleJDK 11 and ZuluJDK 11

For more information on Red Hat Enterprise Linux Life Cycle, refer to their official documentation.

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.

If tmp is set to noexec, it is recommended to set dbms.jvm.additional=-Djava.io.tmpdir=/home/neo4j in conf/neo4j.conf. Additionally, replace /home/neo4j with a path that has exec permissions.

For /bin/cypher-shell, set this via an environment variable: export JAVA_OPTS=-Djava.io.tmpdir=/home/neo4j and replace /home/neo4j with a path that has exec permissions.

Java

It is required to have a pre-installed, compatible Java Virtual Machine (JVM) to run a Neo4j instance. The minimum requirement is Java Runtime Environment (JRE).

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

3.x

Java SE 8 Platform Specification

4.x

Java SE 11 Platform Specification

Neo4j Desktop is available for developers and personal users. Neo4j Desktop is bundled with a JVM. For more information on how to use Neo4j Desktop and its capabilities, see the Neo4j Desktop documentation.