mac brew services

使用 brew services 启动 Elasticsearch 之后, 看到它的启动命令是如下的, 想请问下面的启动参数是怎么拼接起来的? 要怎么定制呢? 谢谢

/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -XX:-OmitStackTraceInFastThrow -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Djava.io.tmpdir=/var/folders/jd/tgbfgqzn3z1c_qmcd0qcmcx80000gn/T/elasticsearch-6452626843454058061 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=data -XX:ErrorFile=logs/hs_err_pid%p.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -Xloggc:logs/gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=32 -XX:GCLogFileSize=64m -Des.path.home=/usr/local/Cellar/elasticsearch/6.8.7/libexec -Des.path.conf=/usr/local/etc/elasticsearch -Des.distribution.flavor=oss -Des.distribution.type=tar -cp /usr/local/Cellar/elasticsearch/6.8.7/libexec/lib/* org.elasticsearch.bootstrap.Elasticsearch
阅读 3.7k
2 个回答

默认情况下,在这个路径下有所有的配置文件 :
/usr/local/etc/elasticsearch

这个是一些 jvm 参数和其的一些参数设置 ,建议系统去学下 jvm ,这里我可以简单给你解释下部分参数说明

-Xms1g -Xmx1g 表示最小堆和最大堆都是 1G
XX:+UseConcMarkSweepGC​ 表示使用 CMS 垃圾收集器
-XX:CMSInitiatingOccupancyFraction=75 表示在内存占用率达到 75% 的时候开始执行 GC
-XX:+UseCMSInitiatingOccupancyOnly 每次都是在 75% 占用率的时候执行GC,不做动态调整
-XX:+AlwaysPreTouch 内存是真正的一开始就分配这么多,而不是要的时候再去取
-Xss1m 线程栈大小分配 1m
-XX:-OmitStackTraceInFastThrow 见文章 https://www.jianshu.com/p/cc1...

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=data XX:ErrorFile=logs/hs_err_pid%p.log 这些表示内存溢出时 dump 出堆内存到文件

-XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -Xloggc:logs/gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=32 -XX:GCLogFileSize=64m 这些表示打印 gc 日志,并且对日志文件的一些设置

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题