JVM参数配置

JVM参数的三种表示方法

在jvm中,jvm虚拟机参数有以下三种表示方法:

  • 标准参数-)所有的JVM实现都必须实现这些参数的功能,而且向后兼容
  • 非标准参数-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容;
  • 非标准参数-XX),此类参数各个jvm实现会有所不同(重点掌握部分

注意:这里的参数一律使用大写的X

标准参数 

 标准参数就是java命令行执行加上的参数,例如 java -jar、java -version 、java -help

 -client 和-server 

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

使用server模式,启动速度虽然慢(比client模式慢10%左右),但是性能和内存管理效率很高,适用于服务器

如果没有指定-server或-client,JVM启动的时候会自动检测当前主机是否为服务器,如果是就以server模式启动

64位的JVM只有server模式,所以无法使用-client参数

默认情况下,不同的启动模式,执行GC的方式有所区别,client模式新生代和老年代都是采用串行模式,server模式启动并行模式

-verbose

这是查询GC问题最常用的命令之一,常用于排查GC问题

  • -verbose:gc 输出每次GC的相关情况
  • -verbose:class 输出jvm载入类的相关信息
  • -verbose:jni 输出native方法调用的相关情况

 非标准参数-X

 -X参数,是在标准基础上扩展的参数,在命令行中输入java -X 命令将显示所有可配置的-X参数的配置项

-Xms  和 -Xmx 和 -Xmn 和 -Xss

-Xms设置初始堆内存大小,设定程序启动时占用内存大小,默认物理内存1/64

 -Xms = -XX:InitialHeapSiz

-Xmx 设置最大堆内存大小 ,设定程序运行期间最大可占用的内存大小,如果程序运行需要占用更多的内存,超出了这个设置值,就会抛出OutOfMemory异常,默认物理内存1/4,

-Xmx = -XX:MaxHeapSize

-Xmn设置年轻代大小,增大年轻代会减少老年代大小,官网推荐整堆的3/8

-Xss设置单个线程栈内存,默认1M

非标准参数-XX 

-XX参数分为三大类,分别为:

  • 性能参数:用于JVM的性能调优和内存分配控制
  • 行为参数:用于改变JVM的基础行为,如GC的方式和算法的选择
  • 调试参数:用于监控、打印、输出等jvm参数

非标准参数-XX的使用方式

-XX:+<option> 启用选项

-XX:-<option> 不启用选项

-XX:<option>=<number/string> 给选项设置一个数字或者字符串,可跟单位,例如 32k, 1024m, 2g

性能参数 

参数名称参数描述
-XX:NewRatio=2表示新生代和老年代比例为1:2
-XX:PermSize=64m方法区分配的初始内存
-XX:MaxPermSize=64m方法区所能占用的最大内存(非堆内存)
-XX:SurvivorRatio=8如默认值为8,代表Eden:Survivor0:Survivor1=8:1:1
-XX:PretenureSizeThreshold= size大于该值的对象直接晋升入老年代(慎用)
-XX:MetaspaceSize=size元空间大小,使用本地内存,由操作系统支配

行为参数 

参数名称参数描述
-XX:+UseSerialGC启用串行GC,即采用Serial+Serial Old模式
-XX:+UseParallelGC启用并行GC,即采用Parallel Scavenge+Serial Old收集器组合(-Server模式下的默认组合)
-XX:+UseParNewGC使用ParNew+Serial Old收集器组合
-XX:+UseG1GC使用G1回收器

调试参数 

参数名称参数描述
-XX:+PrintGCDetails打印GC详细信息
-XX:-PrintGC每次GC时打印相关信息
-XX:-PrintGCTimeStamps打印每次GC的时间戳
-XX:-TraceClassLoading跟踪类的加载信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值