JVM-虚拟机参数

一、虚拟机参数

  • -XX:+PrintGC 每次触发GC的时候打印相关日志
  • -XX:+UseSerialGC 串行回收
  • -XX:+PrintGCDetails 更详细的GC日志
  • -Xms 堆初始值
  • -Xmx 堆最大可用值
  • -Xmn 新生代堆最大可用值
  • -XX:NewRatio 新生代与老年代关系,最好是3或者4
  • -Xss规定了每个线程堆栈的大小。一般情况下256K是足够了。影响了此进程中并发线程数大小。
  • -XX:SurvivorRatio 用来设置新生代中eden空间和from/to空间的比例. 含以
    -XX:SurvivorRatio=eden/from=den/to

    总结:在实际工作中,我们可以直接将初始的堆大小与最大堆大小相等,
    这样的好处是可以减少程序运行时垃圾回收次数,从而提高效率。

1.1 堆内存空间的知识

官方说明附链接: 垃圾回收机制

  • 初始堆大小
    计算机上物理内存的1/64的较大值或合理的最小值。在Java SE 5.0之前,默认的初始堆大小是一个合理的最小值,随平台的不同而不同。您可以使用-Xms命令行选项覆盖此默认设置。

  • 最大堆大小
    小于物理内存的1/4或1GB。在Java SE 5.0之前,默认的最大堆大小为64MB。您可以使用-Xmx命令行选项覆盖此默认设置。

二、内存溢出

2.1 堆内存溢出

将jvm参数设置为10M,循环创建1M对象十次,抛出内存溢出异常。
解决办法很简单,把内存加大即可,但也不是随便加,要根据调优方法调。可参照JVM调优总结
内存溢出异常

2.2栈内存溢出

栈内存溢出的出现现象是:在方法中循环调用方法,会导致栈内存溢出。
最大深度是不确定的,不过可以通过设置JVM参数将深度提升。 -Xss?M 设置堆栈内存大小
栈内存溢出错误

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值