2 Settings -- 4 Startup Check

The heap memory setting
is best to set the jvm startup memory to be the same as the maximum memory size that can be used. Otherwise, when the memory is not enough and needs to be expanded, it is likely to cause es to suspend. If the memory lock is set (that is, bootstrap.memory_lock is true), only the initialized memory size is locked, that is, when the initialized memory size is inconsistent with the maximum memory, the difference will not be locked.
When the memory is locked
and the memory is reclaimed, if the memory is swapped to the hard disk, it will waste a lot of time. There are some ways to prevent the memory from being swapped to the hard disk such as: bootstrap.memory_lock is true. To accomplish this you may need to set mlockall.
Max Threads
Since es needs a lot of threads to process requests, it must be set to allow es to start at least 2048 threads. (You can set it in /etc/security/limits.conf)
The maximum virtual memory
es will use memory map (mmap) to cache index data. So you have to have unlimited address space. (through /etc/security/limits.conf, set to unlimited) The
maximum number of mappings
keeps up. In order to make memory mapping more efficient, es needs to create a lot of memory mapping space. Therefore, you need to set the maximum number to at least 262144. (Set vm.max_map_count through sysctl) The
client jvm
jvm has two startup methods, the client (client jvm) and the server (server jvm), the server mode is more suitable for large applications, He optimized himself even more. By default, the current system is server-side mode
.
The linear garbage collection period is not suitable for large projects, so it must not be assigned to es. (default is cms)


Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326657702&siteId=291194637