JVM学习笔记(5)-JVM参数
1.调试相关参数
-XX:+PrintGCDetails 打印GC详细信息
-XX:+PrintGC 打印GC
-XX:+PrintHeapAtGC 每次GC前后打印堆信息
-XX:+PrintClassHistogram 按下ctrl+break后输出类统计信息
-XX:+OnOutOfMemoryError 虚拟机内存溢出时指定指定的命令
-XX:+OnError 虚拟机抛出Error是执行指定的命令
-XX:+HeapDumpOnOutOfMemoryError 发生OOM是输出dump文件
-XX:+HeapDumpPath=/usr/oom.log dump文件路径
-Xloggc:/home/java/gc.log 输出日志到指定目录
注意:若没有-XX:+HeapDumpPath参数,则输出的dump文件就是当前目录,并且文件名也是不规则的
最好我们使用-XX:+HeapDumpOnOutOfMemoryError -XX:+HeapDumpPath结合使用
2.内存相关参数
-Xms -Xms10m 起始堆大小为10MB
-Xmx 最大堆大小
-Xmn 新生代大小
-Xss 线程栈的大小
-XX:NewRatio 老年代/新生代(如该值等于4,则表示老年代/新生代=4)
-XX:SurvivorRatio Eden和一块survivor的比值(如该值等于8,表示Eden/From Survivor=8)
注意官方推荐:新生代占堆的3/8
3.GC收集器相关参数
java -XX:+PrintCommandLineFlags -version 查看当前jvm使用的收集器类型
收集器类型参数:
详细的可以参考这篇文章:
http://www.cnblogs.com/f-zhao/p/6160656.html
《深入理解java虚拟机》附录表