Requisitos de hardware do Elasticsearch: RAM, heap, CPU e SSD

Dimensione o Elasticsearch para RAM, heap da JVM, CPU, SSD, crescimento do índice e Docker, com limites claros para desenvolvimento/testes, considerações para produção e orientações para instalação personalizada no ZimaOS.

Requisitos de hardware do Elasticsearch: RAM, heap, CPU e SSD

Elasticsearch requirements at a glance

Elastic's current documentation does not define one universal production CPU/RAM/disk minimum for Elasticsearch. A Docker quick-start can run a development single node with a 1 GB container limit, but production sizing depends on JVM heap, filesystem cache, shard/index size, indexing rate, search load and whether machine-learning features are enabled.

RAM
No universal production minimum published. Elastic's single-node Docker tutorial uses a 1 GB container for development/testing; Docker Desktop examples ask for at least 4 GB allocated to Docker.
JVM heap
Automatic heap sizing is recommended. If set manually, Elastic says heap should use no more than 50% of the memory available to the node/container.
CPU
No universal core-count minimum. Faster/more CPUs help when search or indexing becomes CPU-bound.
Storage
Capacity scales with indices, replicas, translog and snapshots. Elastic says SSDs tend to perform better than spinning disks and directly attached storage usually offers lower latency.
Machine learning
The official Docker guide says ML features such as ELSER need more than 1 GB; its example uses a 6 GB container.
Best Zima starting point
Use ZimaBoard 2 832 for development/test single-node work; 16 GB is a better small self-managed node class, while ZimaCube 2 Pro adds stronger CPU, SSD expansion and faster networking for larger datasets.

From official requirements to the right setup

Elasticsearch sizing begins with memory architecture and data shape, not a generic 'minimum RAM' number. Keep enough RAM outside the JVM for the filesystem cache, then size CPU and SSD around indexing/search behavior.

  1. Official requirements

    Separate development/testing from production. The official Docker quick-start uses a 1 GB container for a test node, but Elastic recommends dedicated or primary-service hosts for production and does not publish one universal production RAM/CPU minimum.

  2. Confirm your needs

    Estimate index size, shard count, replicas, indexing rate, query concurrency and retention. These variables determine how much data must be cached, how many segment merges occur and how much disk capacity and I/O the node needs.

  3. Leave room to grow

    Protect memory for both JVM heap and filesystem cache. Keep automatic heap sizing unless there is a reason to override it; if you set heap manually, do not exceed 50% of the memory visible to the Elasticsearch node/container.

  4. Run it on ZimaOS

    On ZimaOS, use Install Custom App with the official Elasticsearch Docker image, persistent data storage and required kernel/ulimit settings. Verify vm.max_map_count, nofile/memlock, swap behavior and storage permissions before treating the deployment as production-ready.

Check every playback client

  • Development/test or production workload
  • Single node or multi-node cluster
  • Total primary index size and replica count
  • Daily indexing volume and retention
  • Search concurrency and query complexity
  • Machine-learning or semantic-search features
  • SSD/NVMe data path and snapshot destination
  • Host kernel settings and other ZimaOS services

Official minimum requirements

Elastic publishes workload and configuration guidance rather than one universal production hardware table. The most important numeric examples are context-specific and must not be misrepresented as a production minimum.

Review Elasticsearch Docker sizing examples

Do not label 1 GB as the Elasticsearch production minimum. It is the container limit used by the official single-node Docker development/test tutorial. For a practical self-managed server, memory headroom and SSD I/O matter far more than simply proving that the process starts.

RequirementOfficial minimumWhat this supports
Production CPU minimumNo universal numerical minimum publishedElastic recommends adding faster or more CPUs when search/indexing is CPU-bound; production sizing is workload-specific.
Production RAM minimumNo universal numerical minimum publishedElastic recommends automatic JVM heap sizing and production hosts where Elasticsearch is the primary resource-intensive service.
Dev/test Docker example1 GB container limitUsed by the official single-node Docker quick-start. This setup is explicitly for development/testing, not a production sizing recommendation.
ML Docker exampleMore than 1 GB; example uses 6 GBThe official tutorial calls out machine-learning features such as ELSER as requiring a larger container.
JVM heapNo more than 50% of node/container memory when set manuallyElasticsearch also needs off-heap memory and relies heavily on the operating system filesystem cache.
Filesystem cacheKeep at least half of available memory for cacheElastic identifies filesystem cache as critical to indexing and search performance.
Linux virtual memoryvm.max_map_count 1048576 recommendedThe host kernel setting may need to be changed outside the container before Elasticsearch can run reliably.

When to upgrade your hardware

Elasticsearch should be upgraded when memory pressure, CPU saturation or storage latency shows that the current node can no longer keep the active index workload efficient.

Heap or filesystem-cache pressure rises

Indexing or search becomes CPU-bound

Disk latency and capacity constrain merges or queries

Long garbage-collection pauses, cache misses or memory pressure indicate that the active shard/query workload is outgrowing available RAM. Increasing heap alone is not always the answer because the filesystem cache also needs memory.

Nodes with growing index working sets, more shards or heavier aggregations.

High sustained CPU during query execution, segment merges or indexing can limit throughput even when RAM is still available.

Search-heavy applications, log ingestion, analytics and high indexing rates.

Elasticsearch performs frequent sequential and random I/O across Lucene segments. Slow storage, low free space or rapid retention growth can become the primary bottleneck.

Large indices, long retention windows, frequent updates and multi-shard deployments.

Plan hardware growth with confidence

Scale Elasticsearch by keeping the active data path fast and preserving memory for both heap and filesystem cache before adding more shards or features.

Move data to SSD or NVMe

Elastic notes that SSDs tend to outperform spinning disks for search and indexing because of mixed random and sequential I/O.

Use SATA SSD/NVMe on ZimaBoard 2 or the faster SSD tiers available in ZimaCube 2 rather than relying on eMMC for the primary data path.

Increase memory without starving filesystem cache

More RAM can support a larger working set, but keep heap within Elastic's guidance and leave substantial memory for the operating system cache.

ZimaBoard 2 1664 provides a compact 16 GB node class; larger production datasets may need more than any fixed 16 GB recommendation.

Use stronger CPU for sustained indexing and complex search

More/faster cores help when profiling shows CPU-bound searches, aggregations or indexing/merge work.

ZimaCube 2 Pro offers a stronger Core i5 platform than ZimaBoard 2 for sustained multi-threaded workloads.

Split workloads across nodes when one box is no longer enough

Production resilience and large datasets eventually require cluster architecture, replicas and failure-domain planning rather than endlessly scaling one home-server node.

Treat multiple Zima systems as separate nodes only after validating network, storage, quorum and recovery design; one larger box is not a substitute for high availability.

Can it run on ZimaOS?

Elasticsearch is not currently presented as a one-click ZimaOS App Store app. You can deploy the official Elasticsearch container through Install Custom App, but host-level kernel and ulimit requirements make it more demanding than a typical dashboard-only container.

Custom install Elasticsearch in ZimaOS

Use Install Custom App with the official Elastic Docker image or an adapted Compose file. Persist /usr/share/elasticsearch/data, set an explicit memory limit, secure credentials and TLS, and confirm that the host can satisfy Elasticsearch kernel and ulimit requirements.

Custom install Elasticsearch in the ZimaOS app ↗

Configure the ZimaOS host for mmap and process limits

Elasticsearch relies on memory-mapped index files and production bootstrap checks. The current Elastic guidance recommends vm.max_map_count of 1048576 and also calls out open-file, process and memory-lock limits. These settings may require terminal/root access outside the app form.

Review Elasticsearch system configuration ↗

Keep development examples separate from production sizing

The 1 GB single-node Docker example is for development/testing. Production deployments should be sized around the real index workload and preferably run Elasticsearch as the primary resource-intensive service on the host.

Read the single-node Docker guide ↗

Choose Zima hardware for Elasticsearch

Elasticsearch is memory- and storage-sensitive. Small nodes can be useful for development and light search, but larger indices benefit from 16 GB+ memory classes, fast SSD storage and stronger CPUs.

Are you building a development/small single node or a larger dedicated search/indexing server?

Development, testing or a small bounded index

Use 8 GB for a comfortable lab host or 16 GB when the node keeps more data hot and shares the server with companion services.

  • Development/test nodeZimaBoard 2 832
  • Small higher-headroom nodeZimaBoard 2 1664
Larger dedicated single node or heavier indexing/search

Prioritize stronger CPU, SSD/NVMe data paths, 16 GB memory and faster networking, while recognizing that large production clusters may require multiple nodes and more RAM.

  • Stronger self-managed nodeZimaCube 2 Pro

These are workload classes, not guaranteed index-size, document-count, query-latency or ingest-rate benchmarks. Shard design, mappings, replicas, query complexity, refresh interval, ML features, cache behavior and storage latency can change requirements dramatically.

Zima hardware Best for Example workload Core configuration Recommended boundary Next step
ZimaBoard 2 832 Elasticsearch development, testing and small bounded single-node datasets. Single-node Docker deployment, application search prototypes, small logs or metadata indexes and light queries.
CPU
Intel N150, 4 cores, up to 3.60 GHz
Memory
8 GB LPDDR5 4800 MHz
Storage
32 GB eMMC plus 2x SATA 3.0 ports and PCIe expansion
Network
2x 2.5GbE LAN
Acceleration
No GPU required for core Elasticsearch search/indexing.
Use an added SSD/NVMe data path; 8 GB is a lab/small-node class, not a universal production recommendation, and ML/search workloads can exceed it quickly. Get Now
ZimaBoard 2 1664 A small self-managed single Elasticsearch node with more memory headroom. Larger application-search or observability indexes, moderate indexing/search and a limited number of companion services.
CPU
Intel N150, 4 cores, up to 3.60 GHz
Memory
16 GB LPDDR5 4800 MHz
Storage
64 GB eMMC plus 2x SATA 3.0 ports and PCIe expansion
Network
2x 2.5GbE LAN
Acceleration
No dedicated GPU required for core Elasticsearch.
The N150 and 16 GB RAM still define a compact node; heavy aggregations, fast ingest, large working sets or ML can justify a stronger CPU and more memory. Get Now
ZimaCube 2 Pro A stronger dedicated Elasticsearch node with expandable SSD storage and faster networking. Heavier indexing/search, larger hot data tiers, snapshots and a broader self-managed Elastic stack.
CPU
Intel Core i5-1235U
Memory
16 GB
Storage
256 GB system storage with 6 HDD bays and up to 4 SSD slots
Network
10GbE plus 2.5GbE connectivity
Acceleration
No dedicated GPU required for core search/indexing; specific ML workloads have separate memory requirements.
Sixteen gigabytes is still not a universal production ceiling. Large shards, long retention, ML or HA requirements can demand multiple nodes and substantially more memory. Get Now

What the Press Says

Highlights from trusted reviewers worldwide.

La Razón
“ZimaCube 2: Not just another NAS, tested with 25TB storage, local AI agents, 4K transcoding, and real homelab workflows.”
Read full review
GameRevolution
“The ZimaBoard 2 is a compact x86 server board that can be turned into a mini NAS, home server, media box, or self-hosting hub.”
Read full review
TechRadar Pro
“ZimaCube 2: A modern, high-performance NAS with plenty of room to grow—built for users who want more than basic storage.”
Read full review
FOX 8
“Coverage focused on ZimaCube 2's open hardware foundation, no monthly fee, and self-hosting flexibility.”
Read full review

Loved by the Community

Stories and reviews from people who build with Zima every day.

ZimaBlade single-board server
★★★★★

Zima Blade Little yet Powerful

Maybe I am not digital natives but I live with PCs since 12 years old in 1984 when IBM PC clone come to my home. Many years have passed and many operating system I've tried. For me Zima blade and CasaOS was a quantum leap for home PC enthusiast and server lab machine to make me stay curious and relevant for this era.

ZimaCube Pro personal cloud
★★★★★

Very good!!

I use ZimaCube Pro as 5th Proxmox cluster node. It runs several VMs and containers, including a VM with GPU passthrough to run a self-hosted LLM. A specific LXC container runs a Samba server for NAS capabilities using four of six RAID 6 SATA HDDs with ZFS.

ZimaBlade single-board server
★★★★★

Great innovation for mini server!

It is very useful and makes a powerful mini server for many purposes, including university and college students in engineering and electronics. Thank you so much for making this server.

ZimaBoard 2 single-board server
★★★★★

Avaliação ZimaBoard 2

Construí um servidor de uso pessoal. O desempenho está muito bom e funciona perfeitamente onde quer que eu esteja. A surpresa é não dependermos de grandes estruturas para termos nosso próprio servidor de dados. Como iniciante, estou gostando bastante do ZimaOS, pois ele é simples e eficiente.

Frequently asked questions

These questions cover Elasticsearch RAM, heap, SSD, CPU, Docker, machine learning and ZimaOS host requirements without turning development examples into false production minimums.

How much RAM does Elasticsearch need?

Elastic does not publish one universal production RAM minimum. Its official single-node Docker tutorial uses a 1 GB memory limit for development/testing, while production sizing depends on shard/index size, search and indexing load, ML features and the memory that must remain available for the filesystem cache.

Can Elasticsearch run with 1 GB RAM?

A single development/test node can: the official Docker quick-start uses a 1 GB container limit. That is not a production recommendation. Machine-learning features such as ELSER need more memory, and the official example uses a 6 GB container.

How much JVM heap should Elasticsearch use?

Elastic recommends automatic JVM heap sizing for most deployments. If you override it manually, set the minimum and maximum heap to the same value and no more than 50% of the memory available to that node or container.

Does Elasticsearch need an SSD?

An SSD is not expressed as a universal hard requirement for every self-managed node, but Elastic says SSDs tend to perform better than spinning disks for indexing and search. Directly attached storage also generally offers lower latency than remote storage.

How many CPU cores does Elasticsearch need?

There is no universal official minimum core count. CPU needs depend on indexing throughput, merges, query complexity, aggregations and concurrent searches. Elastic recommends faster or additional CPUs when profiling shows the workload is CPU-bound.

Does Elasticsearch need a GPU?

Core Elasticsearch indexing and search do not require a dedicated GPU. Some Elastic machine-learning or semantic-search features have their own resource needs, but the normal search engine should be sized primarily around CPU, RAM and storage I/O.

Can ZimaBoard 2 run Elasticsearch?

Yes for development, testing and bounded single-node workloads. The 8 GB model leaves far more headroom than the official 1 GB dev container example, while the 16 GB model is a better small self-managed node. Use SSD/NVMe for the data path and configure the required host kernel limits.

Why is vm.max_map_count important on ZimaOS?

Elasticsearch uses memory-mapped files for index storage. Elastic's current self-managed guidance recommends vm.max_map_count of 1048576. Because this is a host kernel setting, a ZimaOS custom app may require terminal/root configuration in addition to the Compose definition.

What sources informed this Elasticsearch hardware guide?

The guide uses current Elastic documentation for Docker memory examples, JVM heap rules, filesystem-cache guidance, SSD behavior and Linux bootstrap settings. Zima product pages are used only for current hardware specifications and workload matching.

  1. Elasticsearch Single-Node Docker Guide
  2. Elasticsearch JVM Settings
  3. Elasticsearch Important System Configuration
  4. ZimaBoard 2 Product Specifications
  5. ZimaCube 2 Product Specifications