JVM常用启动参数
2017-01-11 15:15
281 查看
通用配置
-Xms4096m //最小堆内存-Xmx4096m //最大堆内存
-Xmn2048m //年轻代大小
-XX:SurvivorRatio=8 //设置eden区和survivor区的内存大小比例,例如8就代表eden和两个survivor区的比例是8:1:1
-XX:MaxTenuringThreshold=15(5~15) //在新生代对象存活次数(经过Minor GC的次数)超过n后,就会晋升到老年代
-XX:TargetSurvivorRatio=90 //在新生代的对象不一定要满足存活年龄达到MaxTenuringThreshold才能去老年代,当Survivor空间中相同年龄所有对象大小总和大于[Desired survivor size]时,年龄大于或等于该年龄的对象直接进入老年代。[Desired survivor size]=单个survivor大小*TargetSurvivorRatio百分比
-XX:PermSize=512M //永久代初始值
-XX:MaxPermSize=512m //永久代最大值
-Xss256k //每个线程的堆栈大小
-XX:+DisableExplicitGC //禁止显式调用System.gc()
CMS+ParNew收集器配置
-XX:+UseConcMarkSweepGC //使用CMS收集器-XX:+UseParNewGC //使用ParNew收集器
-XX:ParallelGCThreads=20 //设置ParNew收集器的垃圾回收并行线程数
-XX:CMSInitiatingOccupancyFraction=85 //在老年代内存到达n%的时候开始CMS回收(因为CMS回收时用户线程并发,因此要提前开始回收)
日志配置
-verbose:gc //输出gc详情-XX:+PrintGCDateStamps //GC发生的时间信息
-XX:+PrintGCDetails //显示GC详细信息
-Xloggc:logs/gc_`date '+%Y-%m-%d_%H:%M:%S'`.log //gc日志产生的路径
调试配置
-XX:+PrintTenuringDistribution //输出在survivor空间里面有效的对象的岁数情况-XX:+TraceClassLoading //输出类加载信息
快速可用的组合配置(用于BS场景)
-Xms2048m -Xmx2048m -Xmn1024m -XX:PermSize=128m -XX:MaxPermSize=128m -Xss512k -XX:ParallelGCThreads=20 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50附
官方的vm参数页面,可以在里面直接查命令的解释:http://www.oracle.com/technetwork/java/vmoptions-jsp-140102.html
相关文章推荐
- 使用CAShapeLayer绘图
- 在线批量部署网站代码和数据库版本更新升级
- [积累] gerrit 不经代码审核直接push进库的方法
- 几种常用的设计模式介绍
- jQuery实现限制文本框的输入长度
- 微信企业号获取永久素材/删除永久素材/修改永久图文素材
- Golang部份特性的C++对比实现
- SAP中RFC与BAPI
- WebDeploy to remote IIS
- IIS 网站日志分析
- gradle的相关版本及常见错误问题
- HDOJ 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
- linux系统安装mysql
- 强大的Spring缓存技术(下)
- Swift3-创建Playground
- Scala继承彻底实战和Spark源码鉴赏
- 神经网络编程入门
- How-To set up a serial console on Debian
- CenterWindow()的用法
- 开通博客了 定个小目标