栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

jvm垃圾回收机制查看及说明

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jvm垃圾回收机制查看及说明

此文查看操作,是在windows环境下进行的

1、查看java版本

java -version

2、如果不知道java安装路径,想查看安装路径的话,可执行

java -verbose

执行上述命令后,会在最后打印出如下信息:

3、查看jvm使用的垃圾收集器

java  -XX:+PrintCommandLineFlags  -version

C:UsersAdministrator>java  -XX:+PrintCommandLineFlags  -version
-XX:InitialHeapSize=267440704 -XX:MaxHeapSize=4279051264 -XX:+PrintCommandLineFlags -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC
openjdk version "1.8.0_275"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_275-b01)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.275-b01, mixed mode)

参数说明
-XX:InitialHeapSize 初始堆大小
-XX:MaxHeapSize 最大堆大小

各个版本的JDK默认的垃圾回收器

jdk1.7 默认垃圾收集器Parallel Scavenge(新生代)+Parallel Old(老年代)
jdk1.8 默认垃圾收集器Parallel Scavenge(新生代)+Parallel Old(老年代)
jdk1.9 默认垃圾收集器G1

JVM-查看JVM参数:
-XX:+PrintVMOptions 程序运行时,打印虚拟机接受到的命令行显式参数
-XX:+PrintCommandLineFlags 打印传递给虚拟机的显式和隐式参数
-XX:+PrintFlagsFinal 打印所有的系统参数的值
参考:https://blog.csdn.net/weixin_45737870/article/details/108932376

如何定位垃圾

  1. 引用计数
  2. 根可达算法

典型的垃圾收集算法

  1. 标记清除 - 位置不连续 产生碎片
  2. 拷贝算法 - 没有碎片,浪费空间
  3. 标记压缩 - 没有碎片,效率偏低

详细说明:



典型的垃圾收集器:

其他:

1.JVM内存分代模型(用于分代垃圾回收算法)

  1. 部分垃圾回收器使用的模型
  2. 新生代 + 老年代 + 永久代(1.7)/ 元数据区(1.8) Metaspace
    1. 永久代 元数据 - Class
    2. 永久代必须指定大小限制 ,元数据可以设置,也可以不设置,无上限(受限于物理内存)
    3. 字符串常量 1.7 - 永久代,1.8 - 堆
    4. MethodArea逻辑概念 - 永久代、元数据
  3. 新生代 = Eden + 2个suvivor区
    1. YGC回收之后,大多数的对象会被回收,活着的进入s0
    2. 再次YGC,活着的对象eden + s0 -> s1
    3. 再次YGC,eden + s1 -> s0
    4. 年龄足够 -> 老年代 (15 CMS 6)
    5. s区装不下 -> 老年代
  4. 老年代
    1. 顽固分子
    2. 老年代满了FGC Full GC
  5. GC Tuning (Generation)
    1. 尽量减少FGC
    2. MinorGC = YGC
    3. MajorGC = FGC

2.常见的垃圾回收器

  1. Serial 年轻代 串行回收
  2. PS 年轻代 并行回收
  3. ParNew 年轻代 配合CMS的并行回收
  4. SerialOld
  5. ParallelOld
  6. ConcurrentMarkSweep 老年代 并发的, 垃圾回收和应用程序同时运行,降低STW的时间(200ms)
  7. G1(10ms)
  8. ZGC (1ms) PK C++
  9. Shenandoah
  10. Eplison

1.8默认的垃圾回收:PS + ParallelOld

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/962171.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号