{"id":27679,"date":"2024-11-24T19:50:00","date_gmt":"2024-11-24T11:50:00","guid":{"rendered":"https:\/\/fwq.ai\/blog\/?p=27679"},"modified":"2024-11-24T19:50:00","modified_gmt":"2024-11-24T11:50:00","slug":"elasticsearch5-0%e4%b8%adjvm%e7%9a%84%e9%85%8d%e7%bd%ae","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/27679\/","title":{"rendered":"ElasticSearch5.0\u4e2dJvm\u7684\u914d\u7f6e"},"content":{"rendered":"<p>\u914d\u7f6e\u6587\u4ef6\u8def\u5f84\uff1aconfig\/jvm.options<\/p>\n<p>&nbsp;<\/p>\n<p class=\"p1\"><span class=\"s1\">## JVM configuration<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">################################################################<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">## IMPORTANT: JVM heap size<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">################################################################<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">##<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">## You should always set the min and max JVM heap<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">## size to the same value. For example, to set<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">## the heap to 4 GB, set:<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">##<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">## -Xms4g<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">## -Xmx4g<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">##<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">## See https:\/\/www.elastic.co\/guide\/en\/elasticsearch\/reference\/current\/heap-size.html<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">## for more information<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">##<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">################################################################<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"># Xms represents the initial size of total heap space<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"># Xmx represents the maximum size of total heap space<\/span><\/p>\n<p class=\"p3\"><span class=\"s1\">-Xms2g<\/span><\/p>\n<p class=\"p3\"><span class=\"s1\">-Xmx2g<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">################################################################<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">## Expert settings<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">################################################################<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">##<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">## All settings below this section are considered<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">## expert settings. Don\u2019t tamper with them unless<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">## you understand what you are doing<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">##<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">################################################################<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">## GC configuration<\/span><\/p>\n<p class=\"p3\"><span class=\"s1\">-XX:+UseConcMarkSweepGC<\/span><\/p>\n<p class=\"p3\"><span class=\"s1\">-XX:CMSInitiatingOccupancyFraction=75<\/span><\/p>\n<p class=\"p3\"><span class=\"s1\">-XX:+UseCMSInitiatingOccupancyOnly<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">## optimizations<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"># disable calls to System#gc<\/span><\/p>\n<p class=\"p2\"><span class=\"s1\">-XX:+DisableExplicitGC<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"># pre-touch memory pages used by the JVM during initialization<\/span><\/p>\n<p class=\"p2\"><span class=\"s1\">-XX:+AlwaysPreTouch<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">## basic<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"># force the server VM<\/span><\/p>\n<p class=\"p2\"><span class=\"s1\">-server<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"># set to headless, just in case<\/span><\/p>\n<p class=\"p2\"><span class=\"s1\">-Djava.awt.headless=true<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"># ensure UTF-8 encoding by default (e.g. filenames)<\/span><\/p>\n<p class=\"p2\"><span class=\"s1\">-Dfile.encoding=UTF-8<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"># use our provided JNA always versus the system one<\/span><\/p>\n<p class=\"p2\"><span class=\"s1\">-Djna.nosys=true<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"># flags to keep Netty from being unsafe<\/span><\/p>\n<p class=\"p2\"><span class=\"s1\">-Dio.netty.noUnsafe=true<\/span><\/p>\n<p class=\"p2\"><span class=\"s1\">-Dio.netty.noKeySetOptimization=true<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"># log4j 2<\/span><\/p>\n<p class=\"p2\"><span class=\"s1\">-Dlog4j.shutdownHookEnabled=false<\/span><\/p>\n<p class=\"p2\"><span class=\"s1\">-Dlog4j2.disable.jmx=true<\/span><\/p>\n<p class=\"p2\"><span class=\"s1\">-Dlog4j.skipJansi=true<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">## heap dumps<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"># generate a heap dump when an allocation from the Java heap fails<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"># heap dumps are created in the working directory of the JVM<\/span><\/p>\n<p class=\"p2\"><span class=\"s1\">-XX:+HeapDumpOnOutOfMemoryError<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"># specify an alternative path for heap dumps<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"># ensure the directory exists and has sufficient space<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">#-XX:HeapDumpPath=${heap.dump.path}<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">## GC logging<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">#-XX:+PrintGCDetails<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">#-XX:+PrintGCTimeStamps<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">#-XX:+PrintGCDateStamps<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">#-XX:+PrintClassHistogram<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">#-XX:+PrintTenuringDistribution<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">#-XX:+PrintGCApplicationStoppedTime<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"># log GC status to a file with time stamps<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"># ensure the directory exists<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">#-Xloggc:${loggc}<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"># Elasticsearch 5.0.0 will throw an exception on unquoted field names in JSON.<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"># If documents were already indexed with unquoted fields in a previous version<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"># of Elasticsearch, some operations may throw errors.<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">#<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"># WARNING: This option will be removed in Elasticsearch 6.0.0 and is provided<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\"># only for migration purposes.<\/span><\/p>\n<p class=\"p1\"><span class=\"s1\">#-Delasticsearch.json.allow_unquoted_field_names=true<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u914d\u7f6e\u6587\u4ef6\u8def\u5f84\uff1aconfig\/jvm.options &nbsp; ## JVM configuration ################################################################ ## IMPORTANT: JVM heap size ################################################################ ## ## You should always set the min and max JVM heap ## size to the same value. For example, to set ## the heap to 4 GB, set: ## ## -Xms4g ## -Xmx4g ## ## See https:\/\/www.elastic.co\/guide\/en\/elasticsearch\/reference\/current\/heap-size.html ## for more information ## [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-27679","post","type-post","status-publish","format-standard","hentry","category-os"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/27679","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=27679"}],"version-history":[{"count":1,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/27679\/revisions"}],"predecessor-version":[{"id":27685,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/27679\/revisions\/27685"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=27679"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=27679"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=27679"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}