jvm内存模型(内存模型+垃圾回收算法+垃圾收集器+GC参数等)

ntechnologytr778 2024-01-09 阅读:13 评论:0
大家好,今天给大家分享jvm内存模型,一起来看看吧。4.CMS收集器虽然G1看起来有很多优点,实际上CMS还是主流。与GC相关的常用参数除了上面提及的一些参数,下面补充一些和GC相关的常用参数:-Xmx: 设置堆内存的最大值。-Xms: 设...

大家好,今天给大家分享jvm内存模型,一起来看看吧。

4.CMS收集器

虽然G1看起来有很多优点,实际上CMS还是主流。

与GC相关的常用参数

除了上面提及的一些参数,下面补充一些和GC相关的常用参数:

  • -Xmx: 设置堆内存的最大值。
  • -Xms: 设置堆内存的初始值。
  • -Xmn: 设置新生代的大小。
  • -Xss: 设置栈的大小。
  • -PretenureSizeThreshold: 直接晋升到老年代的对象大小,设置这个参数后,大于这个参数的对象将直接在老年代分配。
  • -MaxTenuringThrehold: 晋升到老年代的对象年龄。每个对象在坚持过一次Minor GC之后,年龄就会加1,当超过这个参数值时就进入老年代。
  • -UseAdaptiveSizePolicy: 在这种模式下,新生代的大小、eden 和 survivor 的比例、晋升老年代的对象年龄等参数会被自动调整,以达到在堆大小、吞吐量和停顿时间之间的平衡点。在手工调优比较困难的场合,可以直接使用这种自适应的方式,仅指定虚拟机的最大堆、目标的吞吐量 (GCTimeRatio) 和停顿时间 (MaxGCPauseMills),让虚拟机自己完成调优工作。
  • -SurvivorRattio: 新生代Eden区域与Survivor区域的容量比值,默认为8,代表Eden: Suvivor= 8: 1。
  • -XX:ParallelGCThreads:设置用于垃圾回收的线程数。通常情况下可以和 CPU 数量相等。但在 CPU 数量比较多的情况下,设置相对较小的数值也是合理的。
  • -XX:MaxGCPauseMills:设置最大垃圾收集停顿时间。它的值是一个大于 0 的整数。收集器在工作时,会调整 Java 堆大小或者其他一些参数,尽可能地把停顿时间控制在 MaxGCPauseMills 以内。
  • -XX:GCTimeRatio:设置吞吐量大小,它的值是一个 0-100 之间的整数。假设 GCTimeRatio 的值为 n,那么系统将花费不超过 1/(1 n) 的时间用于垃圾收集。

如果不满足于文章详解,私信【架构】获取视频详解!

以上就是jvm内存模型的内容分享,希望对大家有用。

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权发表,未经许可,不得转载。

«    2024年3月    »
123
45678910
11121314151617
18192021222324
25262728293031
最近发布
热门文章