JVM内存管理------垃圾搜集器参数精解
转载自 JVM内存管理------垃圾搜集器参数精解
垃圾搜集器选择参数
UseSerialGC:开启此参数使用serial & serial old搜集器(client模式默认值)。
UseParNewGC:开启此参数使用ParNew & serial old搜集器(不推荐)。
UseConcMarkSweepGC:开启此参数使用ParNew & CMS(serial old为替补)搜集器。
UseParallelGC:开启此参数使用parallel scavenge & parallel old搜集器(server模式默认值)。
UseParallelOldGC:开启此参数在年老代使用parallel old搜集器(该参数在JDK1.5之后已无用)。
JVM各个内存区域大小相关参数
Xms:堆的初始值。默认为物理内存的1/64,最大不超1G。
Xmx:堆的最大值。默认为物理内存的1/4,最大不超1G。
Xmn:新生代的大小。
Xss:线程栈大小。
PermSize:永久代初始大小。默认为物理内存的1/64,最大不超1G。
MaxPermSize:永久代最大值。默认为物理内存的1/4,最大不超1G。
NewRatio:新生代与年老代的比例。比如为3,则新生代占堆的1/4,年老代占3/4。
SurvivorRatio:新生代中调整eden区与survivor区的比例,默认为8,即eden区为80%的大小,两个survivor分别为10%的大小。(备注:这个参数设定是讲解复制算法那一章中,解决复制算法内存减半的办法。eden区即是复制算法一章中80%的那部分,而survivor区则是两个10%的那部分。)
垃圾搜集器性能通用参数
PretenureSizeThreshold:晋升年老代的对象大小。默认为0,比如设为10M,则超过10M的对象将不在eden区分配,而直接进入年老代。
MaxTenuringThreshold:晋升老年代的最大年龄。默认为15,比如设为10,则对象在10次普通GC后将会被放入年老代。
DisableExplicitGC:禁用System.gc()。
并行搜集器参数
ParallelGCThreads:回收时开启的线程数。默认与CPU个数相等。
GCTimeRatio:设置系统的吞吐量。比如设为99,则GC时间比为1/1+99=1%,也就是要求吞吐量为99%。若无法满足会缩小新生代大小。
MaxGCPauseMillis:设置垃圾回收的最大停顿时间。若无法满足设置值,则会优先缩小新生代大小,仍无法满足的话则会牺牲吞吐量。
并发搜集器参数
CMSInitiatingOccupancyFraction:触发CMS收集器的内存比例。比如60%的意思就是说,当内存达到60%,就会开始进行CMS并发收集。
UseCMSCompactAtFullCollection:这个前面已经提过,用于在每一次CMS收集器清理垃圾后送一次内存整理。
CMSFullGCsBeforeCompaction:设置在几次CMS垃圾收集后,触发一次内存整理。
结束语
GC相关系列基本就结束了,本篇文章只是做一个罗列,之后我们一起来进入虚拟机的源码世界吧。
JVM内存管理------垃圾搜集器参数精解相关推荐
- JVM内存管理------垃圾搜集器精解
转载自 JVM内存管理------垃圾搜集器精解 引言 在上一章我们已经探讨过hotspot上垃圾搜集器的实现,一共有六种实现六种组合.本次LZ与各位一起探讨下这六种搜集器各自的威力以及组合的威力 ...
- JVM内存管理------垃圾搜集器简介
引言 上一章我们已经探讨过GC的各个算法,那么垃圾搜集器是什么呢? 通俗的讲,使用编程语言将算法实现出来,产生的程序就是垃圾搜集器了.既然谈到了编程语言的实现,那么在讨论垃圾搜集器的时候,就已经涉及到 ...
- JVM内存管理------GC算法精解(五分钟教你终极算法---分代搜集算法)
转载自 JVM内存管理------GC算法精解(五分钟教你终极算法---分代搜集算法) 引言 何为终极算法? 其实就是现在的JVM采用的算法,并非真正的终极.说不定若干年以后,还会有新的终极算法, ...
- JVM内存管理机制和垃圾回收机制
JVM内存管理机制和垃圾回收机制 JVM结构 图片描述: java源码编译成class文件 class文件通过类加载器加载到内存 其中方法区存放的是运行时的常量.静态变量.类信息等,被所有线程共享 堆 ...
- JVM内存管理------GC算法精解(五分钟让你彻底明白标记/清除算法)
转载自 JVM内存管理------GC算法精解(五分钟让你彻底明白标记/清除算法) 相信不少猿友看到标题就认为LZ是标题党了,不过既然您已经被LZ忽悠进来了,那就好好的享受一顿算法大餐吧.不过LZ丑 ...
- JVM内存管理------GC算法精解(复制算法与标记/整理算法)
转载自 JVM内存管理------GC算法精解(复制算法与标记/整理算法) 本次LZ和各位分享GC最后两种算法,复制算法以及标记/整理算法.上一章在讲解标记/清除算法时已经提到过,这两种算法都是在此 ...
- 详解JVM内存管理与垃圾回收机制5 - Java中的4种引用类型
在Java语言中,除了基础数据类型的变量以外,其他的都是引用类型,指向各种不同的对象.在前文我们也已经知道,Java中的引用可以是认为对指针的封装,这个指针中存储的值代表的是另外一块内存的起始地址(对 ...
- JVM原理(Java代码编译和执行的整个过程+JVM内存管理及垃圾回收机制)
转载注明出处: http://blog.csdn.net/cutesource/article/details/5904501 JVM工作原理和特点主要是指操作系统装入JVM是通过jdk中Java.e ...
- 详解JVM内存管理与垃圾回收机制2 - 何为垃圾
随着编程语言的发展,GC的功能不断增强,性能也不断提高,作为语言背后的无名英雄,GC离我们的工作似乎越来越远.作为Java程序员,对这一点也许会有更深的体会,我们不需要了解太多与GC相关的知识,就能很 ...
最新文章
- 多路复用 I/O 模型详解, 为什么他能支持更高的并发
- android handler的机制和原理_一文搞懂handler:彻底明白Android消息机制的原理及源码
- CentOS搭建本地光盘YUM源
- git 一口气带你走完git之旅
- 基于git的工作流程
- 划重点:微信小程序1月9日正式上线
- 因涉嫌信披违规 神州优车被证监会立案调查
- 和could的区别用法_have to 与 must 用法及区别
- VC预定义常量WIN32、_WIN32、_WIN64分析(转载)
- centos7查看mysql日志_centos 7 mysql启动失败–学会看错误日志
- 社团管理系统用c语言,C语言高校社团管理系统设计报告稿件.doc
- 【阿里—云计算】从飞天系统到飞天2.0(核心组成:飞天洛神)
- CyanogenMod源码编译
- 眼保健操(UPWND公益版)保护眼睛
- 手机验证码登录,账号登录结合
- 计算机图形学——MFC绘图基础
- 基于Visual C++2010 与office2010开发办公自动化 2 -自动生成excel与word并打开
- 常用电脑硬件检测工具下载
- Handler基本使用(一) new Handler
- 自动驾驶之——CAN总线简介
热门文章
- Java 多线程:线程优先级
- Visitor(访问者)--对象行为型模式
- JAVA Java多线程与并发库
- ROADS POJ - 1724(限制条件的最短路)【邻接表+深搜】
- c语言表达式5 gt 3 gt 1,C语言题目谁会做?
- 分布式缓存——一致性哈希算法
- P6282 [USACO20OPEN] Cereal S 思维
- Codeforces Round #726 (Div. 2) F. Figure Fixing 二分图 + 思维
- Codeforces Round #729 (Div. 2)
- 2020牛客暑期多校训练营(第三场)