北京监理协会培训网站,兰州网络公司网站,舟山大昌建设集团网站,西安网站建设第一品牌查看jdk支持的垃圾收集器有哪些#xff1f; 当前进程使用的垃圾收集器是什么#xff1f;
查看默认设置
查看默认设置命令#xff1a;
java -XX:PrintCommandLineFlags -version# -XX:UseParallelGC 查看默认垃圾收集器详细信息命令
通过新生代、老年代名字确定垃圾收集器…查看jdk支持的垃圾收集器有哪些 当前进程使用的垃圾收集器是什么
查看默认设置
查看默认设置命令
java -XX:PrintCommandLineFlags -version# -XX:UseParallelGC 查看默认垃圾收集器详细信息命令
通过新生代、老年代名字确定垃圾收集器
java -XX:PrintGCDetails -version# PSYoungGen
# ParOldGen更加准确的定位使用了哪些垃圾收集器
java -XX:PrintFlagsFinal -version | grep bool Use | grep GC | grep -v java一探究竟
# 应用启动处上代码直接查看
ListGarbageCollectorMXBean beans ManagementFactory.getGarbageCollectorMXBeans();
for (GarbageCollectorMXBean bean : beans) {System.out.println(bean.getName());
}
结果不尽人意
使用参数-XX:UseParallelGC
# 结果
PS Scavenge
PS MarkSweep使用参数-XX:UseParallelOldGC
# 结果
PS Scavenge
PS MarkSweep使用参数 -XX:UseParallelGC -XX:UseParallelOldGC
# 结果PS Scavenge
PS MarkSweep搜寻官方资料得知UseParallelGC和UseParallelOldGC在jdk8及之后开启一个默认启用另一个。 新生代 Parallel Scavenge 复制算法 老年代 Parallel Old 标记清除算法 转而尝试G1
使用参数 -XX:UseG1GC
# 结果
G1 Young Generation
G1 Old Generation主要参数 -XX:MaxGCPauseMillis设置期望达到的最大GC停顿时间指标默认值是 200 毫秒。-XX:G1HeapRegionSizen设置的 G1 区域的大小。值是 2 的幂范围是 1 MB 到 32 MB 之间。目标是根据最小的 Java 堆大小划分出约 2048 个区域。默认是堆内存的1/2000-XX:ParallelGCThreadsn设置 STW 工作线程数的值。将 n 的值设置为逻辑处理器的数量。n 的值与逻辑处理器的数量相同最多为 8。-XX:ConcGCThreadsn设置并行标记的线程数。将 n 设置为并行垃圾回收线程数 (ParallelGCThreads)的 1/4 左右。-XX:InitiatingHeapOccupancyPercentn设置触发并发标记周期的 Java 堆占用率阈值。默认值是45表示占用率是整个 Java 堆的 45%时将会触发并发标记周期。参考资料
https://www.zhihu.com/question/56344485/answer/149543993https://betheme.net/yidongkaifa/97000.html