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:
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:
|
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:
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:
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:
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:
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 For /bin/cypher-shell, set this via an environment variable: |
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).
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.