java虚拟机参数


  • java gc
Eden区是连续的空间,且Survivor总有一个为空。经过一次GC和复制,一个Survivor中保存着当前还活着的对象,而Eden区和另一个Survivor区的内容都不再需要了,可以直接清空,到下一次GC时,两个Survivor的角色再互换。

  • JVM参数
JVM选项含义 
-Xms  初始Heap大小
-Xmx  Java Heap最大值
-Xmn  Young Generation的Heap大小
-Xss   每个线程的Stack大小

-XX:+<option> 启用选项   -XX:-<option> 不启用选项

-XX:SurvivorRatio参数来配置Eden区域Survivor区的容量比值,默认是8,代表Eden:Survivor1:Survivor2=8:1:1

-XX:MaxTenuringThreshold控制,大于该值进入老年代,但这只是个最大值,并不代表一定是这个值

-XX:+UseAdaptiveSizePolicy开关来控制是否采用动态控制策略

-XX:PretenureSizeThreshold来控制直接升入老年代的对象大小,大于这个值的对象会直接分配在老年代上

-XX:+HandlePromotionFailure(允许担保失败),如果允许,则只会进行MinorGC,此时可以容忍内存分配失败;如果不允许,则仍然进行Full GC

  • kafka jvm参数示例
java -server -Xms3072m -Xmx3072m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC 
     -XX:+UseCMSInitiatingOccupancyOnly -XX:+CMSConcurrentMTEnabled -XX:+CMSScavengeBeforeRemark 
     -XX:CMSInitiatingOccupancyFraction=30 
     -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution 
     -Xloggc:logs/gc.log -Djava.awt.headless=true
     -Dcom.sun.management.jmxremote -classpath <long list of jars> the.actual.Class

XX:+UseCMSInitiatingOccupancyOnly: 指示只有在old generation在使用了初始化的比例后启动cms gc

XX:+CMSConcurrentMTEnabled:  allows CMS to use multiple cores for concurrent phase

XX:+CMSScavengeBeforeRemark: 在执行CMS remark之前进行一次youngGC,这样能有效降低remark的时间

XX:CMSInitiatingOccupancyFraction=n 指示在old generation在使用了n%的后,触发cms gc
XX:+PrintTenuringDistribution: 任期阀值的分布和对象岁数的分布

-Djava.awt.headless=true

‑XX:+CMSConcurrentMTEnabled – allows CMS to use multiple cores for concurrent phase.
‑XX:+ConcGCThreads= – specifies number of thread for concurrent phases.
‑XX:+ParallelGCThreads= – specifies number of thread for parallel work during stop-the-world pauses (by default it equals to number of physical cores).
-XX:CMSWaitDuration –设置收集暂停的最大间隔时间,越大你的应用将被暂停,类似死机没有反应
-XX:+CMSScavengeBeforeRemark 可以避免在收集期间同时扫描。

-D<name>=<value> set a system property设置一个系统参数和值

-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:$logpath/gc.$START_TIME.log \
-XX:NewSize=256m -XX:MaxNewSize=256m \
-XX:+UseParNewGC \
-XX:+UseConcMarkSweepGC \

-Xms128m
表示JVM Heap(堆内存)最小尺寸128MB,初始分配
-Xmx512m
表示JVM Heap(堆内存)最大允许的尺寸256MB,按需分配。

java永久生成对象:Permanate generation
-XX:PermSize=64MB 最小尺寸,初始分配
-XX:MaxPermSize=256MB 最大允许分配尺寸,按需分配

Linux下处理图片时需加上参数“-Djava.awt.headless=true”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值