jvm 常用设置参数

部分参考https://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html   感谢楼主分享

JVM常用参数设置

首先先明白参数的类型:

1:标准参数(-)

     所有的JVM实现都必须实现这些参数的功能

2:非标准参数(-X)

      默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容

3:非Stable参数(-XX)

      此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用

 

参数名称含义默认值备注
-Xms 初始堆大小物理内存的1/64(<1GB)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制.
-Xmx最大堆大小物理内存的1/4(<1GB)空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制
-Xss每个线程的堆栈大小 JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K.更具应用的线程所需内存大小进行 调整.在相同物理内存下,减小这个值能生成更多的线程.但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右
一般小的应用, 如果栈不是很深, 应该是128k够用的 大的应用建议使用256k。这个选项对性能影响比较大,需要严格的测试。(校长)
和threadstacksize选项解释很类似,官方文档似乎没有解释,在论坛中有这样一句话:"”
-Xss is translated in a VM flag named ThreadStackSize”
一般设置这个值就可以了。
-XX:NewSize新生代初始内存的大小 应该小于-Xms的值
-XX:MaxNewSize新生代可被分配的内存的最大上限 应该小于-Xmx的值
-XX:PermSize设置持久代初始值物理内存的1/64 
-XX:MaxPermSize设置持久代最大值物理内存的1/4 
-XX:MetaspaceSize元数据初始空间大小 元数据在堆外
-XX:MaxMetaspaceSize元数据的最大空间默认是没有限制的元数据在堆外
-XX:MaxDirectMemorySize最大堆外内存  

-XX:

+HeapDumpOnOutOfMemoryError

OOM时记录快照  
-XX:HeapDumpPaht=/path/dump快照地址  
-XX:+PrintGC打印GC日志  
-XX:PrintGCDetails打印GC详细信息  
-XX:+PrintGCDateStamps 日期格式GC时间  
-xloggc:/path/gc.log打印GC日志地址  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值