JVM的参数介绍

        我们在工作中其实很少遇到JVM的调优,基本上都是架构或者项目负责人这样才会去考虑这些,但要是一辈子都不去学习这些你永远不知道,希望自己知道这些参数的意义,记到脑子里才是自己的东西。

一、JVM的参数例子

假如某个JAVA进程的JVM参数配置如下:

-Xms1G -Xmx2G -Xmn500M -XX:MaxPermSize=64M -XX:+UseConcMarkSweepGC 

-XX:SurvivorRatio=3

-Xms:1G , 就是说初始堆大小为1G 

-Xmx:2G , 就是说最大堆大小为2G 

-Xmn:500M ,就是说年轻代大小是500M(包括一个Eden和两个Survivor) 

-XX:MaxPermSize:64M , 就是说设置持久代最大值为64M 

-XX:+UseConcMarkSweepGC , 就是说使用使用CMS内存收集算法 

-XX:SurvivorRatio=3 , 就是说Eden区与Survivor区的大小比值为3:1:1

二、常用参数

  • Xms 起始内存
  • Xmx 最大内存
  • Xmn 新生代内存
  • Xss 栈大小。 就是创建线程后,分配给每一个线程的内存大小
  • -XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4
  • -XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:3,表示Eden:Survivor=3:2,一个Survivor区占整个年轻代的1/5
  • -XX:MaxPermSize=n:设置持久代大小

三、收集器设置

  • -XX:+UseSerialGC:设置串行收集器
  • -XX:+UseParallelGC:设置并行收集器
  • -XX:+UseParalledlOldGC:设置并行年老代收集器
  • -XX:+UseConcMarkSweepGC:设置并发收集器

四、垃圾回收统计信息

  • -XX:+PrintGC
  • -XX:+PrintGCDetails
  • -XX:+PrintGCTimeStamps
  • -Xloggc:filename

五、并行收集器设置

  • -XX:ParallelGCThreads=n:设置并行收集器收集时使用的CPU数。并行收集线程数。
  • -XX:MaxGCPauseMillis=n:设置并行收集最大暂停时间
  • -XX:GCTimeRatio=n:设置垃圾回收时间占程序运行时间的百分比。公式为1/(1+n)

  • 并发收集器设置
  • -XX:+CMSIncrementalMode:设置为增量模式。适用于单CPU情况。
  • -XX:ParallelGCThreads=n:设置并发收集器年轻代收集方式为并行收集时,使用的CPU数。并行收集线程数

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值