[[system-config]] == Important system configuration 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: * <> * <> * <> * <> * <> * <> * <> * <> [[dev-vs-prod]] [discrete] === Development mode vs production mode By default, {es} assumes that you are working in development mode. If any of the above settings are not configured correctly, a warning will be written to the log file, but you will be able to start and run your {es} node. As soon as you configure a network setting like `network.host`, {es} assumes that you are moving to production and will upgrade the above warnings to exceptions. These exceptions will prevent your {es} node from starting. This is an important safety measure to ensure that you will not lose data because of a malconfigured server. include::sysconfig/configuring.asciidoc[] include::sysconfig/swap.asciidoc[] include::sysconfig/file-descriptors.asciidoc[] include::sysconfig/virtual-memory.asciidoc[] include::sysconfig/threads.asciidoc[] include::sysconfig/dns-cache.asciidoc[] include::sysconfig/executable-jna-tmpdir.asciidoc[] include::sysconfig/tcpretries.asciidoc[]