返回 登录
1

Java的JVM性能调优相关:JVM参数介绍

JVM参数——种类
标准参数:以-开头的参数,所有的JVM都遵循;
非标准参数:以-X开头的参数,各个JVM的实现都不相同,并且不保证向后兼容。
不稳定参数:以–XX开头的参数,各个JVM的实现都不相同,并且不保证向后兼容,甚至随时会被取消。
JVM参数——标准参数——如何查询标准参数
java -help

java -?
图片描述
JVM参数——标准参数—— -server参数
在服务器上运行java程序必须要加上-server参数,启动速度比客户端模式慢,不过在性能和内存管理效率方面(GC都是并行的)很不错。
JVM参数——标准参数—— -classpath/-cp参数
类的搜索路径,可以定义多个,用;号分隔。
当前目录默认是类的搜索路径。
图片描述
运行结果如下:
JVM参数——标准参数—— -DpropertyName=value参数
定义系统全局属性
图片描述
运行结果:
JVM参数——非标准参数——查询
java -X
图片描述
JVM的内存结构
图片描述
JVM参数——非标准参数—— -Xms=NNN -Xmx=NNN
-Xms堆的初始大小,默认值为总物理内存的64分之一。
-Xmx堆的最大值
如果-Xms和-Xmx的值不同,表示堆的大小是可变的,这会导致抖动现象,所以建议把-Xms和-Xmx设置为一样大小。
JVM参数——非标准参数—— -Xmn=NNN
该参数设置新生代内存的大小(伊甸园空间、幸存者From空间、幸存者To空间)。
JVM参数——非标准参数—— -Xss=NNN
-Xss用于设置线程的栈内存的大小,栈内存默认值为1M,
JVM参数——非标准参数—— -Xloggc:file
把GC的日志记录到文件中,跟-verbose:gc类似。
JVM参数——非稳定参数——分类
性能参数:细粒度地设置JVM的内存大小,用于调优JVM
行为参数: 用于设置JVM的GC的算法和种类等,可以改变JVM的行为。
调试参数:可以更详细打印出jvm的运行情况
JVM参数——非稳定参数——使用方法
-XX: 启用某个选项
-XX:- 不启用某个选项
-XX:=[单位]/ 给选项设置一个数字或字符类型值
JVM参数——非稳定参数——性能参数—— -XX:NewSize=NNN -XX:MaxNewSize=size
设置新生代内存的大小
JVM参数——非稳定参数——性能参数—— -XX:MaxPermSize=NNN -XX:PermSize=NNN
设置方法区的内存大小
JVM参数——非稳定参数——性能参数——-XX:MaxTenuringThreshold=5
对象经过5次以上MinorGC之后还存活着就会进入老年代
JVM参数——非稳定参数——性能参数——-XX:NewRatio=2
新生代与老生代内存的比
JVM参数——非稳定参数——性能参数——-XX:SurvivorRatio=8
幸存者空间有两个,幸存者From空间和幸存者To空间,From和To的大小是一样的。
-XX:SurvivorRatio=8等于-XX:SurvivorRatio=8:1:1
伊甸园空间:幸存者From空间:幸存者To空间=8:1:1
JVM参数——非稳定参数——行为参数——-XX:-UseSerialGC -XX:-UseParallelGC
采用串行、并行垃圾收集器
JVM参数——非稳定参数——调试参数——-XX:HeapDumpPath=./java_pid
.hprof、-XX:-HeapDumpOnOutOfMemoryError
堆信息日志的的路径;当抛出OOM异常时,到处堆中的信息
JVM参数——非稳定参数——调试参数——-XX:-PrintGC、-XX:-PrintGC Details
打印GC的信息
**学习Java的同学注意了!!!
学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:521352947 我们一起学Java!**

评论