JVM常用参数

  1. -Xms20M:  表示设置JVM启动内存的最小值为20M,必须以M为单位。
  2. -Xmx20M:  标识设置JVM启动内存的最大值为20M,必须以M为单位。将-Xms和-Xmx设置为一样可以避免JVM内存自动扩展。大的项目-Xms和-Xmx一般都要设置到10G,20G甚至更高。
  3. -verbose:gc   表示输出虚拟机中GC的详细情况
  4. -Xss128k   表示可以设置虚拟机栈的大小为128k
  5. -Xoss128k   表示设置本地方法栈的大小为128k。不过HotSpot并不区分虚拟机栈和本地方法栈,因此对于HotSpot来说这个参数是无效的
  6. -XX:PermSize=10M  表示JVM初始分配的永久代的容量,必须以M为单位
  7. -XX:MaxPermSize=10M   表示JVM允许分配的永久代的最大容量,必须以M为单位,大部分情况下这个参数默认为64M
  8. -Xnoclassgc   表示关闭JVM对类的垃圾回收
  9. -XX:+TraceClassLoading   表示查看类的加载信息
  10. -XX:+TraceClassUnLoading  表示查看类的卸载信息
  11. -XX:NewRatio=4  表示设置年轻代:老年代的大小比值为1:4,这意味着年轻代占整个堆的1/5
  12. -XX:SurvivorRatio=8   表示设置2个Survivor区:1个Eden区的大小比值为2:8,这意味着Survivor区占整个年轻代的1/5,这个参数默认为8
  13. -Xmn20M  表示设置年轻代的大小为20M
  14. -XX:+HeapDumpOnOutOfMemoryError   表示可以让虚拟机在出现内存溢出异常时Dump出当前的堆内存转储快照
  15. -XX:+UseG1GC  表示让JVM使用G1垃圾收集器
  16. -XX:+PrintGCDetails  表示在控制台上打印出GC具体细节
  17. -XX:+PrintGC  表示在控制台上打印出GC信息
  18. -XX:+PrintHeapAtGC  表示可以看到每次GC前后堆内存布局

Java虚拟机参数有上百个,性能调优中很大一块就是选择这上百个参数中的某些重要参数进行设置,并且根据项目运行情况对参数进行不断调整以求达到一个性能最佳点。性能调优说有捷径也有捷径,百度搜一份别人推荐的JVM参数设置改改就好了,那至于具体好不好就说不上了,但起码保证能用吧;性能调优说没捷径也没捷径,如果对JVM的性能有严苛的要求并且希望细化到每一个小点,达到能达到的最佳值,那首先就必须对于Java虚拟机,对于每一个虚拟机参数有着深刻的理解才行。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值