JVM参数-(读书笔记)

1.堆设置
-Xms:设置jvm内存的初始大小
-Xmx:设置jvm内存的最大值 如:-Xmx512m (建议<4g)
-XX:NewSize:设置新域的初始值 ( 初始时年轻区内存通常为 Xmx 的 1/3 或 1/4。新生代 = Eden + 2 个 Survivor 空间。实际可用空间为 = Eden + 1 个 Survivor,即 90%)
-XX:MaxNewSize :设置新域的最大值
-Xmn:设置新域的大小(这个似乎只对 jdk1.4来说是有效的,后来就废弃了)
-Xss:设置每个线程的堆栈大小(也就是说,在相同物理内存下,JDK1.5以后每个线程堆栈大小为 1M,以前默认256k, 减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。
-XX:NewRatio :设置新域与旧域之比,如-XX:NewRatio = 4就表示新域与旧域之比为1:4
-XX:SurvivorRatio=n:设置新域中Eden区与两个Survivor区的比值。(Eden区主要是用来存放新生的对象,而两个 Survivor区则用来存放每次垃圾回收后存活下来的对象)
-XX:PermSize:设置永久域的初始值
-XX:MaxPermSize:设置永久域的最大值
2.收集器设置
-XX:+UseSerialGC:设置串行收集器
-XX:+UseParallelGC:设置并行收集器
-XX:+UseParalledlOldGC:设置并行年老代收集器
-XX:+UseConcMarkSweepGC:设置并发收集
3.垃圾回收统计信息
-XX:+PrintGC 输出GC日志
-XX:+PrintGCDetails 输出GC的详细日志
-XX:+PrintGCTimeStamps 输出GC时间戳(以基准时间的形式)
-XX:+PrintHeapAtGC 在进行GC的前后打印出堆的信息
-Xloggc:/path/gc.log 日志文件的输出路径
-XX:+PrintGCApplicationStoppedTime 打印由GC产生的停顿时间
4.并行收集器设置
-XX:ParallelGCThreads=n:设置并行收集器收集时使用的CPU数。并行收集线程数。
-XX:MaxGCPauseMillis=n:设置并行收集最大暂停时间
-XX:GCTimeRatio=n:设置垃圾回收时间占程序运行时间的百分比。公式为1/(1+n)
5.并发收集器设置
-XX:+CMSIncrementalMode:设置为增量模式。适用于单CPU情况。
-XX:ParallelGCThreads=n:设置并发收集器年轻代收集方式为并行收集时,使用的CPU数。并行收集线程数。

(除了程序计数器,虚拟机内存的其他几个运行区域都会发生OOM)
java.lang.OutOfMemoryError: PermGen space 方法区和运行时常量溢出【-XX:PermSize和 –XX:MaxPermSize】
java.lang.OutOfMemoryError: Java heap space 堆溢出【-Xms -Xmx】
java.lang.OutOfMemoryError: unable to create new native thread 虚拟机栈和本分方法栈溢出【-Xss】
java.lang.OutOfMemoryError 直接内存溢出 【–XX:MaxDurectMemorySize指定,如不指定默认与-Xmx一样】
虚拟机栈、本地方法栈 会抛出StackOutflowError

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值