java中有哪些常用的JVM参数呢?

打印 上一主题 下一主题

主题 914|帖子 914|积分 2742

转自:
http://www.java265.com/JavaCourse/202204/2648.html
下文笔者讲述java中JVM参数的简介说明,如下所示:
JVM参数类型说明
  1. 常见的JVM参数类型如下:
  2.    1.标准的jvm参数 -version  -help
  3.    2.X非标准参数, -Xms -Xmx
  4.    3.XX不稳定参数, -XX:+PrintGC 设置这些参数会引起JVM性能差异
  5.       可能导致JVM性能提升,也可导致JVM异常而停止服务
  6. 注意事项:
  7.      -X和-XX参数可能随着JDK版本的变更而发生变化
  8.      在下一个版本中有些参数可以能会被废弃掉,
  9.        有些参数的功能会发生改变
  10.         但JDK官方不会通知开发者这些变化,需要使用者注意
复制代码
XX参数数值类型
  1. 1.布尔类型 ,
  2.      如-XX:+PrintGCDetails
  3.       其中+和-
  4.       +代表开启功能
  5.           -代表关闭功能
  6. 2.KV 属性设置
  7.      如-XX:NewSize=512M
  8.       设置年轻代空间大小为512M
复制代码
常用参数

参数功能默认值示例备注
-Xms初始堆大小物理内存64分之一-Xms=512M 
-Xmx最大堆大小物理内存4分之一-Xmx=512M笔者建议同-Xms设置同样的值
-Xmn新生代大小 -Xmn=512M尽量设置小一点
-Xss指定线程栈大小 -Xss=512Mwebx下需要设置256K
X其它参数-打印GC信息到文件

-Xloggc:/log/gc_%t_%p.log:将gc信息打印到指定的文件中,通过时间戳生成文件名
XX参数
  1. -XX:NewSize:设置年轻代最小空间大小
  2. -XX:MaxNewSize:设置年轻代最大空间大小
  3. -XX:PermSize:设置永久代最小空间大小
  4. -XX:MaxPermSize:设置永久代最大空间大小
  5. -XX:NewRatio:设置年轻代和老年代的比值。默认值-XX:NewRatio=2,表示年轻代与老年代比值为1:2,年轻代占整个堆大小的1/3
  6. -XX:SurvivorRatio:设置年轻代中Eden区Survivor区的容量比值。默认值-XX:SurvivorRatio=8,表示Eden : Survivor0 : Survivor1 = 8 : 1 : 1
  7. -XX:-OmitStackTraceInFastThrow:关闭(省略异常栈从而快速抛出),默认开启。如果想将所有异常信息都抛出,建议关闭。
  8. -XX:+HeapDumpOnOutOfMemoryError:表示当JVM发生OOM时,自动生成DUMP文件。
  9. -XX:HeapDumpPath=/usr/local/dump:dump文件路径或者名称。如果不指定文件名,默认为:java_<pid>_<date>_<time>_heapDump.hprof
复制代码
GC日志

在设置JVM参数的时候
可以设置GC打印日志参数
-XX:+PrintGCDetails
  1. 日志列简介说明
  2. GC:表示进行了一次Minor GC,即从年轻代空间(包括 Eden 和 Survivor 区域)回收内存
  3. Allocation Failure:在年轻代中没有足够的空间能够存储新的数据
  4. Full GC (Ergonomics):表示进行了一次Full GC,即清理整个堆空间(包含年轻代和老年代)
  5. PSYoungGen: 1024K->1024K(1488K):垃圾回收器是Paralle Scavenge,年轻代区GC前->GC后该区域已使用量,后面的1488表示该区域总量
  6. ParOldGen: 4011K->4011K(4082K)老年代区,GC前->GC后该区域已使用量,后面的4082表示该区域总量
  7. 5032K->5032K(5899K):GC前 -> GC后Java堆的使用量,后面的5899表示Java堆总量
  8. Metaspace: 3117K->3117K(1056768K):JDK8中取消了永久代,新增了一个叫元空间(Metaspace)的区域,对应的还是JVM规范中的方法区(主要存放一些class和元数据的信息),该数据表示该区GC前后使用量
  9. 0.0118131 secs:暂停STW 时间,即GC的时间
  10. Times: user=0.01 sys=0.01, real=0.01 secs:更为详细的时间占比统计
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

北冰洋以北

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表