Elasticsearch heap size JVM 메모리 할당 공식 문서 구성

3238 단어 Elasticsearch
https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html

기본 1G 힙 크기 설정


       By default, Elasticsearch tells the JVM to use a heap with a minimum and maximum size of 1 GB. When moving to production, it is important to configure heap size to ensure that Elasticsearch has enough heap available.
       Elasticsearch will assign the entire heap specified in jvm.options via the  Xms  (minimum heap size) and  Xmx  (maximum heap size) settings.
       The value for these setting depends on the amount of RAM available on your server. Good rules of thumb are:
  • Set the minimum heap size ( Xms ) and maximum heap size ( Xmx ) to be equal to each other.
  • The more heap available to Elasticsearch, the more memory it can use for caching. But note that too much heap can subject you to long garbage collection pauses.
  • 물리적 메모리의 50%를 초과하지 않고 파일 시스템에cache를 만드는 것이 가장 좋다..
  • Set  Xmx  to no more than 50% of your physical RAM, to ensure that there is enough physical RAM left for kernel file system caches.
  • Don’t set  Xmx  to above the cutoff that the JVM uses for compressed object pointers (compressed oops); the exact cutoff varies but is near 32 GB. You can verify that you are under the limit by looking for a line in the logs like the following:
    heap size [1.9gb], compressed ordinary object pointers [true]
  • Even better, try to stay below the threshold for zero-based compressed oops; the exact cutoff varies but 26 GB is safe on most systems, but can be as large as 30 GB on some systems. You can verify that you are under the limit by starting Elasticsearch with the JVM options  -XX:+UnlockDiagnosticVMOptions -XX:+PrintCompressedOopsMode  and looking for a line like the following:
    heap address: 0x000000011be00000, size: 27648 MB, zero based Compressed Oops
    showing that zero-based compressed oops are enabled instead of
    heap address: 0x0000000118400000, size: 28672 MB, Compressed Oops with base: 0x00000001183ff000

  •        Here are examples of how to set the heap size via the jvm.options file:
    -Xms2g 
    -Xmx2g 

    Set the minimum heap size to 2g.
    Set the maximum heap size to 2g.
    구성 방법:
           It is also possible to set the heap size via an environment variable. This can be done by commenting out the  Xms  and  Xmx  settings in the  jvm.options  file and setting these values via  ES_JAVA_OPTS :
    ES_JAVA_OPTS="-Xms2g -Xmx2g" ./bin/elasticsearch 
    ES_JAVA_OPTS="-Xms4000m -Xmx4000m" ./bin/elasticsearch 

    Set the minimum and maximum heap size to 2 GB.
    Set the minimum and maximum heap size to 4000 MB.
           Configuring the heap for the Windows service is different than the above. The values initially populated for the Windows service can be configured as above but are different after the service has been installed. Consult the Windows service documentation for additional details.

    좋은 웹페이지 즐겨찾기