Loading

Important system configuration

Ideally, Elasticsearch should run alone on a server and use all of the resources available to it. In order to do so, you need to configure your operating system to allow the user running Elasticsearch to access more resources than allowed by default.

The following settings must be considered before going to production:

How these limits are enforced

This page lists operating system limits you must set before Elasticsearch serves production traffic. Elasticsearch verifies many of these expectations through bootstrap checks at node startup. In production mode, a failed check stops the node from starting rather than only logging a warning.

Tip

For examples of applying the relevant settings in a Docker environment, refer to Using the Docker images in production.

Use dedicated hosts

In production, we recommend you run Elasticsearch on a dedicated host or as a primary service. Several Elasticsearch features, such as automatic JVM heap sizing, assume that Elasticsearch is the only resource-intensive application on the host or container. For example, you might run Metricbeat alongside Elasticsearch for cluster statistics, but a resource-heavy Logstash deployment should be on its own host.