2.1. System requirements

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

CPU

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

Minimum

Intel Core i3

Recommended

Intel Core i7

IBM POWER8

Memory

More memory allows for larger graphs, but it needs to be configured properly to avoid disruptive garbage collection operations.
See Section 11.1, “Memory configuration” for suggestions.

Minimum

2GB

Recommended

16—​32GB or more

Disk

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 Section 11.7, “Disks, RAM and other tips” for more details.

Minimum

10GB SATA

Recommended

SSD w/ SATA Express, or NVMe

Filesystem

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

Minimum

EXT4 (or similar)

Recommended

EXT4, ZFS

Software

Neo4j Desktop includes a Java Virtual Machine, JVM, for convenience.
All other versions of Neo4j require Java to be pre-installed.
The minimum requirement is the Java Runtime Environment, JRE.

The Java Development Kit, JDK, is required in order to run some commands of the Report tool.
This is a tool that lets you send logs and performance data to Neo4j Customer Success in a simple and convenient way, in case
of a production issue.
For this reason, JDK is recommended for all production environments that allow it.