专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 常见的JVM参数

常见的JVM参数

更新时间:2021-08-02 16:30:22 来源:动力节点 浏览878次

网上有很详细的关于各种JVM参数说明,本篇只记录很常用的几个参数,为了方便以后自己查阅

1.JVM三种参数类型

  • 标准参数。如-version、-help
  • X参数。如-Xms、-Xmx
  • XX参数。如-XX:+PrintGC

2.XX参数数值类型

布尔类型。如-XX:+PrintGCDetails,其中+和-分别表示开启/关闭某个属性,PrintGCDetails表示打印GC详情

KV设值类型。如-XX:NewSize=256M,设置年轻代空间大小为256M

3.常用参数

X参数:

jvm参数

XX参数:

  • -XX:NewSize:设置年轻代最小空间大小
  • -XX:MaxNewSize:设置年轻代最大空间大小
  • -XX:PermSize:设置永久代最小空间大小
  • -XX:MaxPermSize:设置永久代最大空间大小
  • -XX:NewRatio:设置年轻代和老年代的比值。默认值-XX:NewRatio=2,表示年轻代与老年代比值为1:2,年轻代占整个堆大小的1/3
  • -XX:SurvivorRatio:设置年轻代中Eden区Survivor区的容量比值。默认值-XX:SurvivorRatio=8,表示Eden:Survivor0:Survivor1=8:1:1

4.GC日志

在设置JVM参数的时候,可以设置GC打印日志参数:-XX:+PrintGCDetails。下面GC输出日志信息:

jvm参数

日志含义如下:

GC:表示进行了一次Minor GC,即从年轻代空间(包括Eden和Survivor区域)回收内存

Allocation Failure:在年轻代中没有足够的空间能够存储新的数据

Full GC(Ergonomics):表示进行了一次Full GC,即清理整个堆空间(包含年轻代和老年代)

PSYoungGen:1024K->1024K(1536K):垃圾回收器是Paralle Scavenge,年轻代区GC前->GC后该区域已使用量,后面的1536表示该区域总量

ParOldGen:4032K->4032K(4096K):老年代区,GC前->GC后该区域已使用量,后面的4096表示该区域总量

5056K->5056K(5632K):GC前->GC后Java堆的使用量,后面的5632表示Java堆总量

Metaspace:3117K->3117K(1056768K):JDK8中取消了永久代,新增了一个叫元空间(Metaspace)的区域,对应的还是JVM规范中的方法区(主要存放一些class和元数据的信息),该数据表示该区GC前后使用量

0.0214352 secs:暂停STW时间,即GC的时间

Times:user=0.02 sys=0.01,real=0.02 secs:更为详细的时间占比统计

以上就是动力节点小编介绍的"常见的JVM参数",希望对大家有帮助,想了解更多可查看Java虚拟机视频。动力节点在线学习教程,针对没有任何Java基础的读者学习,让你从入门到精通,主要介绍了一些Java基础的核心知识,让同学们更好更方便的学习和了解Java编程,感兴趣的同学可以关注一下。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>