JVM调优笔记

java内存区域相关异常:
1.java.lang.StackOverflowError
  --栈的深度超过了虚拟机容许的最大深度
  --栈内存不够,-Xss
2.java.lang.OutOfMemoryError: Java heap space
  --堆内存不够,内存泄露,-Xmx
3.java.lang.OutOfMemoryError: PermGen space
  --方法区(持久代)使用过大,应用加载class过多,字节码生成技术使用过多
  --XX:PermSize,-XX:MaxPermSize
4.java.lang.OutOfMemoryError:unable to create native thread
  --线程数超过了操作系统的限制
  --给虚拟机分配的内存过大(-Xmx,-MaxPermSize) ,导致创建线程的时候需要的native内存太少


 -Xms<size>        设置初始 Java 堆大小
 -Xmx<size>        设置最大 Java 堆大小
 -Xss<size>        设置 Java 线程堆栈大小
 -Xmn:设置新生代的大小
 
 -XX:NewRatio新生代和年老代的比值,如为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代之和的1/4
 -XX:SurvivorRatio设置两个Survivor区和eden的比值。注意Survivor区有两个。如:8,表示Eden:Survivor=8:2,一个Survivor区占整个年轻代的1/10
 -XX:PermSize:设置方法区的初始空间
 -XX:MaxPermSize:设置方法区的最大空间。
 
 对于GC的性能主要有2个方面的指标:吞吐量(工作时间不算,gc的时间占总的时间比)和暂停时间。

GC 调优的原则
1.大多数的 java 应用不需要 GC 调优;
2.大部分需要 GC 调优的的,不是参数问题,是代码问题;
3.在实际使用中,分析 GC 情况优化代码比优化 GC 参数要多得多;
4.GC 调优是最后的手段;
目的
1.GC 的时间够小;
2.GC 的次数够少;
3.发生 FullGC 的周期足够的长,时间合理,最好是不发生。

https://www.cnblogs.com/xifengxiaoma/p/9415357.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值