JVM学习之GC参数设置
1: heap size
a: -Xmx
指定jvm的最大heap大小,如:-Xmx2g
b: -Xms
指定jvm的最小heap大小,如:-Xms1g
c: -Xmn
指定jvm中New Generation的大小,如:-Xmn256m
d: -XX:PermSize
指定jvm中Perm Generation的最小值,如:-XX:PermSize=32m
e: -XX:MaxPermSize
指定Perm Generation的最大值,如:-XX:MaxPermSize=64m
f: -Xss
指定线程桟大小,如:-Xss128k
g: -XX:NewRatio
指定jvm中Old Generation heap size与New Generation的比例,在使用CMS GC的情况下此参数失效, 如:-XX:NewRatio=2
h: -XX:SurvivorRatio
指定New Generation中Eden Space与一个Survivor Space的heap size比例,-XX:SurvivorRatio=8,那么在总共New Generation为10m的情况下,Eden Space为8m
i: -XX:MinHeapFreeRatio
指定jvm heap在使用率小于n的情况下,heap进行收缩,Xmx==Xms的情况下无效,如:-XX:MinHeapFreeRatio=30
j: -XX:MaxHeapFreeRatio
指定jvm heap在使用率大于n的情况下,heap进行扩张,Xmx==Xms的情况下无效,如:-XX:MaxHeapFreeRatio=70
k: -XX:LargePageSizeInBytes
指定Java heap的分页页面大小,如:-XX:LargePageSizeInBytes=128m
2: garbage collector
a: -XX:+UseParallelGC
指定在New Generation使用parallel collector,并行收集,同时启动多个垃圾回收thread,不能和CMS gc一起使用.系统吨吐量优先,但是会有较长长时间的app pause,后台系统任务可以使用此gc
b: -XX:ParallelGCThreads
指定parallel collection时启动的thread个数,默认是物理processor的个数,如:-xx:ParallelGCThreads=8
c: -XX:+UseParallelOldGC
指定在Old Generation使用parallel collector
d: -XX:+UseParNewGC
指定在New Generation使用parallel collector,是UseParallelGC的gc的升级版本,有更好的性能或者优点,可以和CMS gc一起使用
e: -XX:+CMSParallelRemarkEnabled
在使用UseParNewGC的情况下,尽量减少mark的时间
f: -XX:+UseConcMarkSweepGC
指定在Old Generation使用concurrent cmark sweep gc,gc thread和app thread并行,所以称作concurrent.app pause时间较短,适合交互性强的系统,如web server
g: -XX:+UseCMSCompactAtFullCollection
在使用concurrent gc的情况下,防止memory fragmention,对live object进行整理,使memory碎片减少
h: -XX:CMSInitiatingOccupancyFraction=n
指示在old generation在使用了n%的比例后,启动concurrent collector,默认值是68,如:-XX:CMSInitiatingOccupancyFraction=70
有个bug,在低版本的jvm上出现,http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6486089
i: -XX:+UseCMSInitiatingOccupancyOnly
指示只有在old generation在使用了初始化的比例后concurrent collector启动收集
3:others
a: -XX:MaxTenuringThreshold
指定一个object在经历了n次young gc后转移到old generation区,在linux64的java6下默认值是15,此参数对于throughput collector无效,如:-XX:MaxTenuringThreshold=31
b: -XX:+DisableExplicitGC
禁止java程序中的full gc,如System.gc()的调用
c: -XX:+UseFastAccessorMethods
原始类型get,set方法的优化
d: -XX:+PrintGCDetails
打应垃圾收集的情况如:
[GC 15610.466: [ParNew: 229689K->20221K(235968K), 0.0194460 secs] 1159829K->953935K(2070976K), 0.0196420 secs]
e: -XX:+PrintGCTimeStamps
打应垃圾收集的时间情况,如:
[Times: user=0.09 sys=0.00, real=0.02 secs]
f: -XX:+PrintGCApplicationStoppedTime
打应垃圾收集时,系统的停顿时间,如:
Total time for which application threads were stopped: 0.0225920 seconds
4 -XX:+UseCompressedOops
压缩指针 64位机器,JDK1.6支持
转载于:https://www.cnblogs.com/sunfie/p/5132025.html
JVM学习之GC参数设置相关推荐
- [Java基础]--JVM gc参数设置与分析
感谢原文链接:http://xstarcd.github.io/wiki/Java/JVM_GC.html JVM gc参数设置与分析 原文: http://hi.baidu.com/i1see1yo ...
- oracle中sga的合理设置,oracle学习:SGA_MAX_SIZE参数设置
oracle学习:SGA_MAX_SIZE参数设置 时间:2017-07-11 来源: SGA_MAX_SIZE这个参数顾名思义,它用来控制SGA 使用虚拟内存 的最大大小,这里的虚拟内存的含义可能会 ...
- IDEA JVM 性能优化 相关参数设置
文章目录 IDEA JVM 性能优化 相关参数设置 IDEA JVM 性能优化 相关参数设置 点击 Help - Edit Custom VM Options -Xms256m -Xmx2048m - ...
- JVM gc参数设置与分析
原文:(PS:看到字体颜色比较浅,做了下调整后转载) http://hi.baidu.com/i1see1you/item/295c1dc81f91ab55bdef69e5 gc日志分析工具: htt ...
- jvm学习之一GC简介
1.如何判断对象为垃圾对象 为了查看垃圾回收的信息 -verbose:gc -XX:+PrintGCDetails 就可以看到gc信息 1.1引用计数法 在对象中添加一个引用计数器,当有地方引用这个对 ...
- JVM学习之GC常用算法
2019独角兽企业重金招聘Python工程师标准>>> 出处:博客园左潇龙的技术博客--http://www.cnblogs.com/zuoxiaolong,多谢分享 GC策略解决了 ...
- JVM 内存区域大小参数设置
需要提前了解的知识点: 1. JVM内存模型 2. JVM垃圾回收算法 下图是JVM内存区域划分的逻辑图 从图中我们大概了解JVM相关的内存区域. JVM内存包括区域 Heap(堆区) New Gen ...
- java 程序执行后 强制gc_【GC系列】JVM的常用GC参数及GC日志解析
今天继续GC系列第三篇,熬夜不易,欢迎一键三连,给个鼓励,不点赞也没关系,我还可以,谢谢捧场[捂脸]. 常见垃圾回收器组合设定 在oracle官网上可以看到如何开启使用指定垃圾回收的命令: https ...
- JVM调优-GC参数
一.Throughput收集器(吞吐量) -XX:+UseParallelGC -XX:+UseParallelOldGC *参数调整:通过调整堆大小,减少GC停顿时间,增大吞吐量 增强堆大小可以减少 ...
最新文章
- python退出程序-Python退出命令的总结
- 计算机视觉——百度百科
- Android 四大组件之——Acitivity(二) 启动模式
- MFC CEdit 自动换行功能
- eoj程序设计基础(基于 C 语言)1067
- tomcat(4)Tomcat的默认连接器
- Spring加载resource时classpath*:与classpath:的区别
- 初级开发人员的缺点_如何避免我作为初级开发人员犯的这7个错误
- markdown 图片居中_写作者必备技能:markdown 微信使用markdown
- C#问题——interface class
- 阿里巴巴中台战略--事务与柔性事务
- android xutils 教程,Android xUtils更新到3.0后的基本使用规则详解
- 系统学习深度学习(十六)--Overfeat
- 关于线程耗尽导致请求超时系统假死的思考
- Mac制作Windows 10 U盘启动盘
- Java基础知识➣发送Emai和访问MySQL数据库(七)
- 因果推断学习笔记三——Uplift模型
- 一加 Ace Pro怎么样?颜值性能它都有
- 大佬总结的4条宝贵经验,送给初入职场的你,从此一飞冲天
- TQ2440 学习笔记—— 3、如何在ubuntu 9.10 下安装vmware-tools?
热门文章
- Helm 3 完整教程(二十二):如何设置 Chart 安装完成后提示 NOTE 信息
- arcgis中img 批量转换tif_在ArcGIS中Python使用及批量裁剪示技巧讲解 !
- org.apache.ibatis.builder.BuilderException: An invalid property ‘jdbcType ‘ was found in mapping
- 虎牙改名字服务器升级维护中,王一博“虎牙直播”被占id,无奈改了名字,新名字却被吐槽...
- u3d+向服务器上传文件,unity3d向服务器传数据库
- 2021 年百度之星·程序设计大赛 - 初赛二 1002 随机题意(区间贪心)
- Win7如何禁用无线网卡
- python 调用父类classmethod_Python__子类调用父类的方法
- 计算机的发展经历阶段应用领域,手机的发展经历了哪3个阶段?
- linux杀死网络,Linux下kill杀死进程详解