设置java启动参数的正确方法

3phpmpom  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(367)

在为kafka进程设置各种heap、gc等java参数时,似乎存在着相互冲突的思想流派。
一组人说要编辑 kafka-server-start bash文件
在这里
另一个组织说要设置一个系统var,让kafka的初创公司来选择它
在这里
在合流的最新说明中,出现了以下“建议”:

-Xms6g -Xmx6g -XX:MetaspaceSize=96m -XX:+UseG1GC -XX:MaxGCPauseMillis=20
   -XX:InitiatingHeapOccupancyPercent=35 -XX:G1HeapRegionSize=16M
   -XX:MinMetaspaceFreeRatio=50 -XX:MaxMetaspaceFreeRatio=80

什么是官方的汇合党路线在哪里设置这些(我假设默认值不使用这些来容纳较小的测试机器)

yxyvkwin

yxyvkwin1#

这两件事本质上都在告诉您做相同的事情,即手动重写 KAFKA_HEAP_OPTS .
看起来这就是你要找的 kafka-server-start.sh ```
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
fi

EXTRA_ARGS=${EXTRA_ARGS-'-name kafkaServer -loggc'}

如果从命令行开始,可以调用

export KAFKA_HEAP_OPTS="-Xmx2g -Xms2g"
./kafka-server-start.sh

或者,如果要先编辑启动脚本,则不需要这样做 `export` ,因为变量在本地使用。

KAFKA_HEAP_OPTS="-Xmx2g -Xms2g"
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
fi

第一种方法的好处是,它不需要对kafka源代码进行更改,并且只允许通过shell变量配置环境;
第二种方法很方便,因为在启动服务器之前不需要记住设置环境变量。

相关问题