Skip to content

Latest commit

 

History

History
39 lines (30 loc) · 2.53 KB

File metadata and controls

39 lines (30 loc) · 2.53 KB
mapped_pages
applies_to
deployment
self
products
id
elasticsearch

Important system configuration [system-config]

Ideally, {{es}} 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 {{es}} to access more resources than allowed by default.

The following settings must be considered before going to production:

  • : Run as a dedicated unprivileged user, keep numeric UID and GID consistent across nodes, and set correct ownership on config and data paths.
  • : Where and how to apply operating-system limits and environment variables for your install type.
  • : Avoid heap or process memory being swapped out; options include disabling swap, lowering swappiness, and bootstrap.memory_lock.
  • : Set vm.max_map_count high enough for mmap-based index storage (for example 1048576 when required).
  • : Allow the {{es}} user to create at least 4096 threads on Linux when you manage limits yourself.
  • : Raise open file handles to at least 65,535 (Linux and macOS only).
  • : Ensure JNA and native libraries can execute from a temp path that is not mounted noexec (Linux only).
  • : Lower net.ipv4.tcp_retries2 so node and network failures are detected sooner than the Linux default (Linux only).

::::{admonition} How these limits are enforced This page lists operating system limits you must set before {{es}} serves production traffic. {{es}} 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 . :::

::::{admonition} Use dedicated hosts :::{include} _snippets/dedicated-hosts.md ::: ::::