深入浅出java 虚拟机---虚拟机参数介绍(持续更新)

-Xms

设置最少堆内存例如 -Xms11M

-Xmx

设置最大堆内存例如-Xmx11M

-XX:MinHeapFreeRatio

设置堆最小空闲比例,默认为40,当小于这个只是,堆会扩展堆空间

XX:MaxHeapFreeRatio

设置堆最大空闲比例,默认为70,当大于这个只是,堆会压缩堆空间

-xss

设置为每个线程分配的内存大小,影响函数堆栈的深度,例如 -Xss256m

-Xmn

设置新生代大小。老年的=Xmx减去Xmn

–XX:NewRatio

设置新生代和老年代的比例默认比例为 1:2,

-XX:SurvivorRatio

eden:fromqu区比例  例如-XX:SurvivorRatio=8 表示 新生带有10M  from、to 为 1M, eden为 8M。 

-XX:TargetSurivioRatio

from区利用率、如:-XX:TargetSurivioRatio=90

-XX:PretenureSizeThreshold

设置大对象进入老年带的阈值 (只对串行收集器、新生代并行收集器有效)例如:-XX:PretenureSizeThreshold=1000000 ,设置大于1M,直接进入老年带

 

-XX:MaxTenuringThreshold

设置进入老年带的年龄,默认为15。实际进入老年代的年龄为动态计算年龄和它的较小值。-XX:MaxTenuringThreshold=15

-XX:+DisableExplicitGC 

屏蔽System.gc()

 

-XX:+TraceClassLoading

打印类的加载情况

 

-verbose:gc 或 -XX:+PrintGCDetails

打印垃圾收集过程

 

-XX:+PrintAssembly

打印汇报代码,需要配合其他参数使用,详细使用可以参考下面博客:

http://blog.csdn.net/kisimple/article/details/51526034

-XX:MaxDirectMemorySize

指定直接在内存分配的大小,不在jvm的堆中。 如 -XX:MaxDirectMemorySize=1M,nio中比较常用

 ByteBuffer.allocateDirect(max);

 

 

-XX:PermSize

非堆内存初始大小(方法区:常量池、元数据)-XX:PermSize=2M

-XX:PermSize

非堆内存最大值(方法区:常量池、元数据)-XX:MaxPermSize=4M 

 

 -Xmn

 设置新生带大小,-Xmn2M

-XX:NewSize

设置新生带初始大小 -XX:NewSize=2M

-XX:MaxNewSize

设置新生带最大大小-XX:MaxNewSize=2M

 -XX:SurvivorRatio

新生代内部比例  survivorRation=survivor/s0 = survivor/s1 如 -XX:SurvivorRatio=8

 

-XX:NewRatio 

老年代/新生代 如-XX:NewRatio=1

 

-XX:+UseSerialGC

指定新生带和老年带,使用串行垃圾回收器,jvm client 模式的默认,垃圾回收器

 

-XX:+UseParNewGC

指定新生带使用并行回收器,老年带使用串行回收器


-XX:+UseParallelGC

老年带并行回收器

-XX:ParallelGCThreads

指定并行收集器工作线程,当cpu小于8,线程等于cpu数。大于8,cpu为3+5*cpu_count/8.CMS默认线程数为(count+3/)2

 

-XX:+UseConcMarkSweepGC

指定新生产使用并行,老年带使用cms

-XX:+UseParallelGC

指定新生带使用并行回收器,老年带使用串行回收器

 

-XX:+UseParallelOldGC

指定新生代和老年带都是用并行回收器

并行回收器可以使用如下参数:

(1)-XX+MaxGCPauseMillis:设置最大停顿时间

(2)-XX:GCtimeRatio:设置吞吐量大小n(0-100),则系统垃圾回收将不大于1/(n+1)

(3)-XX:+UseAdaptiveSizePolicy 打开自适应GC策略,自动调整新生大的比例等等

 

-XX:CMSInitiatingOccupancyFraction

指定CMS回收阈值,默认老年代为68%,进行回收

 

-XX:+UseCMSCompactAtFullCollection

指定触发了多少次cms后,进行标记压缩。

 

-XX:+unlockExperimentalVMOptions -XX:+UseG1GC

启用G1收集器

-XX:MaxGCPauseMillis  -XX:MaxGCPauseMillis

指定G1收集全的目标,在200ms中停顿不超过50ms ,但不能保证执行它。-XX:MaxGCPauseMillis -= 50 XX:MaxGCPauseMillis = 200

 

 

-XX:CompileThreshold

设置被编译为本地机器码阈值,默认客户端为1500,服务端为10000 。使用下面两个参数可以查看编译信息 -XX:CompileThreshold=1500  -XX:+PrintCompilation -XX:+CITime

 

-XX:+HeapDumpOnOutOfMemoryError

当发生oom时保留堆快照,有助于分析内存溢出。

-XX:HeapDumpPath

指定堆快照日志路径 ,例如-XX:HeapDumpPath:C:\a.hprof

-XX:OnOutOfMemoryError

指定发生oom的时候,调用脚本。如-XX:OnOutOfMemoryError:C:\reset.bat

-XX:+PrintTenuringDistribution

打印实时晋升老年带的实际阈值

-XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplicationConcurrentTime

打印GC停顿时间,应用程序在GC停顿时间的执行时间

 

-Xloggc

指定gc日志存放路径 如:-Xloggc:C:\gc.log

 

-XX:+TraceClassLoading -XX:+TraceClassUnloading

打印类加载和卸载

 

-XX:+DisableExplicitGC

禁用显示gc,如System.gc()

-Xnoclassgc

禁用类回收

-Xincgc

启用增量GC,GC线程与程序交叉执行,以减少程序的停顿时间

-XX:-UseSplitVerifier  -XX:-FailOverToOldVerifier

指定使用旧类校验器 、关闭再次校验功能

 

-XX:+UseLargePages  -XX:LargePageSizeInBytes

启动大页,指定大页大小

-XX:+UseCompressedOops

打开压缩指针,较少6464位JVM的寻址地址,减少对内存的损耗

 

总结:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我无法回答关于"深入浅出Java虚拟机PDF"的问题。但是,我可以告诉你关于Java虚拟机的一些信息。Java虚拟机(JVM)是Java程序的运行环境,它负责将Java字节码转换为机器语言并执行程序。通过使用不同的虚拟机参数,可以对JVM进行配置和调优。 通过设置-Xss参数,可以指定每个线程的Java虚拟机栈内存大小。在JDK 1.4中,默认为256K,在JDK 1.5及更高版本中,默认为1M。例如,使用java -Xss2M命令可以将线程栈内存大小设置为2M。 Java虚拟机使用ClassLoader加载类。所有其他类的加载器都是Java实现的,并继承自抽象类java.lang.ClassLoader。 当老年代空间不足时,可能会触发Full GC。但是,并不建议使用这种方式来管理内存,而是让虚拟机自行管理。因为手动执行Full GC可能会导致性能问题。 希望以上信息对你有所帮助。如果你对Java虚拟机还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [深入浅出JAVA虚拟机](https://blog.csdn.net/loulanyue_/article/details/101075303)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值