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 |
ZuluJDK 17 |
SuSE Enterprise Desktop 15 |
OpenJDK 17, Oracle JDK 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 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 |
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 |
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.
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 |
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.
Was this page helpful?