03--JVM的参数设置

在Java虚拟机的参数中,有3种表示方法:

(1)标准参数(-),所有JVM实现都必须实现这些参数的功能,而且向后兼容;
(2)非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;
(3)非Stable参数(-XX),此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用(但是,这些参数往往是有用的)。
1.标准参数

就是在运行java命令时后面加上的参数,如java -version,java -jar等,输入java -help或java -?就能获得当前机器所有java的标准参数列表。

 -client:设置jvm使用client模式,这是一般在pc机器上使用的模式,启动很快,但性能和内存管理效率并不高,多用于桌面引用;

 -server:使用server模式,启动速度虽然慢(比client模式慢10%左右),但是性能和内存管理效率很高,适用于服务器,用于生成环境、开发环境或测试环境的服务端;
 	64位的JVM只有server模式,所有无法使用-client参数;

 -classpath/ -cp:JVM加载和搜索文件的目录路径,多个路径用;分隔。

 -DpropertyName=value:定义系统的全局属性值,如配置文件地址等。

 -verbose:这是查询GC问题最常用的命令之一,具体参数如:
 	-verbose:class:输出jvm载入类的相关信息,当jvm报告说找不到类或者类冲突时用此进行诊断。
 	-verbose:gc:输出每次GC的相关情况
 	-verbose:jni:输出native方法调用的相关情况,一般用于诊断jni调用错误信息。
2.非标准参数

非标准参数,是在标准参数的基础上进行扩展的参数,输入”java -X“命令,能够获得当前JVM支持的所有非标准参数列表。

-Xmixed           混合模式执行 (默认)
-Xint             仅解释模式执行
-Xbootclasspath:<用 ; 分隔的目录和 zip/jar 文件>
                  设置搜索路径以引导类和资源
-Xbootclasspath/a:<用 ; 分隔的目录和 zip/jar 文件>
                  附加在引导类路径末尾
-Xbootclasspath/p:<用 ; 分隔的目录和 zip/jar 文件>
                  置于引导类路径之前
-Xdiag            显示附加诊断消息
-Xnoclassgc       禁用类垃圾收集
-Xincgc           启用增量垃圾收集
-Xloggc:<file>    将 GC 状态记录在文件中 (带时间戳)
-Xbatch           禁用后台编译
-Xms<size>        设置初始 Java 堆大小
-Xmx<size>        设置最大 Java 堆大小
-Xss<size>        设置 Java 线程堆栈大小
-Xprof            输出 cpu 配置文件数据
-Xfuture          启用最严格的检查, 预期将来的默认值
-Xrs              减少 Java/VM 对操作系统信号的使用 (请参阅文档)
-Xcheck:jni       对 JNI 函数执行其他检查
-Xshare:off       不尝试使用共享类数据
-Xshare:auto      在可能的情况下使用共享类数据 (默认)
-Xshare:on        要求使用共享类数据, 否则将失败。
-XshowSettings    显示所有设置并继续
-XshowSettings:all
                  显示所有设置并继续
-XshowSettings:vm 显示所有与 vm 相关的设置并继续
-XshowSettings:properties
                  显示所有属性设置并继续
-XshowSettings:locale
                  显示所有与区域设置相关的设置并继续
3.非stable参数(非静态参数)

以 -XX表示的非Stable参数,JVM(Hotspot)中主要的参数可以大致分为3类:

性能参数(Performance Options):用于JVM的性能调优和内存分配控制,如初始化内存大小的设置;
行为参数(Behavioral Options):用于改变JVM的基础行为,如GC的方式和算法的选择;
调试参数(Debugging Options):用于监控、打印、输出等jvm参数,用于显示jvm更加详细的信息;

对于非Stable参数,使用方法有4种:

 -XX:+<option> 启用选项
 -XX:-<option> 不启用选项
 -XX:-<option>=<numbner> 给选项设置一个数字类型值,可跟单位,例如32K,1924m,2g
 -XX:-<option>=<string> 给选项设置一个字符串值,例如-XX:HeapDumpPath=./dump.core
发布了11 篇原创文章 · 获赞 0 · 访问量 131

猜你喜欢

转载自blog.csdn.net/baidu_41806513/article/details/105054166