目录
介绍
先来个 堆 和元空间的
来个 对于年轻一袋的 》 加上个 年轻代元和幸存者比例的
这个是 添加 《侵略性堆》gc 的
优点
弱点
加个 G1 的垃圾收集器
介绍
g1可以调整的类型
来个并发标记清除 老年代 ConcMarkSweep
介绍
可调参数
年轻代并行收集器
可调参数
串型旧物件收集器 MarkSweepCompact
介绍
年轻一袋运作
串行
并行
平行
介绍
写几个jvm gc 相关的例子 之后项目好使用 顺便介绍下优缺点
先来个 堆 和元空间的
• -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m
来个 对于年轻一袋的 》 加上个 年轻代 伊甸元和幸存者比例的
- -Xms512m -Xmx1025m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -XX:NewRatio=8 -XX:SurvivorRatio=32
这个是 添加 《侵略性堆》gc 的
- -Xms512m -Xmx1025m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -XX:NewRatio=8 -XX:SurvivorRatio=32 -XX:+AggressiveHeap
优点
包含在内的命令行选项可启用更多主动选项,包括但不限于Java堆大小和配置或性能功能。
弱点
请注意,因为积极的优化可能不稳定。设置命令行选项的调试输出以查看到底打开了什么(调试/打印JVM选项/命令行选项)
加个 G1 的垃圾收集器
- -Xms512m -Xmx1025m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -XX:NewRatio=8 -XX:SurvivorRatio=32 -XX:+UseG1GC
介绍
- G1的垃圾优先收集器使用“垃圾优先”算法,该算法将堆拆分为许多较小的空间,但在G1的年轻一代中,它们仍被分为Eden和Survivor空间。
- 它是JDK 7.04中引入的最现代的收集器。从JDK 9开始,它将是默认设置。
g1可以调整的类型
- 堆区域大小
- 启动堆占用率
- 混合GC有效阈值百分比
- 堆废物百分比
- 旧的CSetRegion阈值百分比
- 最大垃圾收集暂停时间
- 吞吐量(gc时间比率)
- 新尺寸百分比
- 新的最大尺寸百分比
- 混合GC计数目标
来个并发标记清除 老年代 ConcMarkSweep
- -Xms512m -Xmx1025m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -XX:NewRatio=8 -XX:SurvivorRatio=32 -XX:+UseConcMarkSweepGC
介绍
- ConcurrentMarkSweep(CMS)是一个并发,低中断的收集器。
一种垃圾收集算法,尝试在后台运行大多数垃圾收集工作,而不会在工作时停止应用程序线程(仍有阶段必须停止应用程序线程,但尝试将这些阶段保持在最低限度)。请注意,如果并发收集器无法跟上垃圾,它将故障转移到串行MarkSweepCompact收集器以(仅用于下一个GC)。
可调参数
- 并发GC线程
- 并行GC线程
- 初始入住率(%)
年轻代并行收集器
- -Xms512m -Xmx1025m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -XX:NewRatio=8 -XX:SurvivorRatio=32 -XX:+UseParallelGC -XX:+UseParallelOldGC
可调参数
- 最大垃圾收集暂停时间
- 吞吐量(gc时间比率)
串型旧物件收集器 MarkSweepCompact
- -Xms512m -Xmx1025m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -XX:NewRatio=8 -XX:SurvivorRatio=32 -XX:+UseSerialGC
介绍
- 串行旧式(MarkSweepCompact)是使用单个GC线程的世界一流的,标志清除紧凑的收集器。
- 他的父亲都是父亲,他们使用串行(一个线程)全标记清除垃圾收集算法,并带有可选的压缩。
年轻一袋运作
串行
在不停止工作的情况下 将伊甸园满满的还活着的对象复制到幸存者,然后一直往后
并行
停止一会找来一堆干活的 并发 收集 搞到 幸存者 和往后
平行
不停 还并行 干活 往后 copy 搞对象
ok
持续更新
设置命令行选项的调试输出以查看到底打开了什么(调试/打印JVM选项/命令行选项)