当我们配置KAFKA 的JVM 我们聊什么

KAFKA 官方建议配置


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

http://bbs.umeng.com/thread-12479-1-1.html 参考


-Xms30g -Xmx30g -XX:PermSize=48m -XX:MaxPermSize=48m -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35

 

其实xms =xmx不用说了,设置成一样是为了避免伸缩时 对应用造成影响,伸缩的时候会执行一次FULL GC

你可以发现Young 区设置的明显比perm区大很多,这是因为kafka消费生产topic,很多都是兆生夕灭的,所以新生代很大 而持久代只是意思意思而已,这里多说一句同样是类似的生产很多String 对象的solr ,就需要设置很大的perm,因为打量索引会存储在jvm

中,所以设置solr 时要考虑 YOUNG和OLD 区的比例,可能OLD很大YOUNG很小,毕竟YOUNG的收集又不会停止世界~~~

-XX:+UseG1GC
 

目前JDK1.6update14及以后版本的jvm中已经继承了G1 GC,可以使用参数-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC来启用。G1是一个适用于服务器端、大内存、多CPU情景的垃圾收集器,主要目标是在维持高效率回收(high thoughput)的同时,提供软实时中断特性。用户可以指定一个时间上限,如果垃圾回收导致的程序暂停超过了用户设定的时间上限,会打断垃圾回收,恢复程序的执行。 

-XX:MaxGCPauseMillis=20
 
XX:MaxGCPauseMillis=n:设置并行收集最大暂停时间  单位毫秒 



XX:InitiatingHeapOccupancyPercent=n整个堆(而不是某个年代)使用量达到此值,便会触发并发GC周期.值为0则是连续触发,默认值为45


参考:

JVM参数见这里

http://bboniao.com/jvm/2014-03/g1garbage-first.html

http://blog.csdn.net/xiajian2010/article/details/17376157

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值