System requirements
Neo4j can be installed in many environments and for different scopes, therefore system requirements largely depend on the use of the software. This section distinguishes between a personal/development installation and a server-based installation used for production workloads.
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 ARM architectures on physical, virtual, or containerized platforms.
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 x86-x64 Core i3 minimum, Core i7 recommended. AMD x86-x64, Mac ARM. |
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. |
Memory |
2GB minimum. Actual requirements depend 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/AMD x86-x64. ARM64. |
Memory |
8GB minimum. Actual requirements depend on workloads. In some cases, it is recommended to use instances with memory that fits the size of the graph in use. |
Storage |
RAID/SAN or SSD with greater than 5000 IOPS. NVMe SSD is recommended. Storage size depends on the size of the databases. |
For more information, see Performance, and more specifically Memory Configuration and Tuning of the garbage collector, and Disks, RAM and other tips. |
Software requirements
For personal use and software development:
Operating System | Supported JDK |
---|---|
Debian 11, 12 |
OpenJDK 17, OracleJDK 17, and ZuluJDK 17 |
MacOS 11, 12 |
OpenJDK 17, ZuluJDK 17 |
SuSE Enterprise Desktop 15 |
OpenJDK 17, OracleJDK 17 |
Ubuntu Desktop 22.04+ |
OpenJDK 17, OracleJDK 17, and ZuluJDK 17 |
Windows 10, 11 |
OracleJDK 17, ZuluJDK 17 |
For cloud environments, and server-based, on-premise environments:
Operating System | Supported JDK |
---|---|
Amazon Linux 2022 AMI, Amazon Linux 2023 AMI |
Amazon Corretto 17, and OracleJDK 17 |
CentOS Stream 8, 9 |
OpenJDK 17, OracleJDK 17, and ZuluJDK 17 |
Debian 11, 12 |
OpenJDK 17, OracleJDK 17, and ZuluJDK 17 |
Red Hat Enterprise Linux Server 8.6, 8.8, 9.0, 9.2 |
Red Hat OpenJDK 17, Oracle JDK 17, and ZuluJDK 17 |
Ubuntu Server 16.04, 18.04, 20.04, 22.04 |
OpenJDK 17, OracleJDK 17, and ZuluJDK 17 |
Windows Server 2016, 2019, 2022 |
OracleJDK 17, ZuluJDK 17 |
Deprecated in 5.26 Starting from Neo4j 5.26 LTS, deploying the database on the following operating systems is deprecated:
-
MacOs 11, 12
-
Windows Desktop 10
-
Amazon Linux 2022 AMI
-
Unbuntu Server 16.04, 18.04, 20.04
-
Windows Server 2016, 2019
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). Since databases can put a high and consistent load on a storage system for a long time, it is recommended to use a file system that has good aging characteristics. The EXT4 and XFS file systems are both supported. See Linux file system tuning for details 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: For the Neo4j’s uses of the Java Native Access (JNA) library, set |
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 compliancy |
---|---|
3.x |
Java SE 8 Platform Specification |
4.x |
Java SE 11 Platform Specification |
5.x |
Java SE 17 Platform Specification |
5.14 |
Java SE 17 and Java SE 21 Platform Specification |
The Neo4j 5.26 LTS is the last version that uses the Java SE 17 Platform. It is recommended to move to Java SE 21, which is supported with the Neo4j 5.14 onwards. |
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.