ric*_*chs 2 java garbage-collection
有没有办法获取正在运行的 JVM 的 GC 设置?
我正在尝试查看运行 SerialGC、ParallelGC、ParallelOldGC、ConcurrentMarkSweepGC 等的 GC 算法。
JVM 有一个很好的 MBean:
for(GarbageCollectorMXBean gc : ManagementFactory.getGarbageCollectorMXBeans()) {
System.out.println(gc.getObjectName());
}
Run Code Online (Sandbox Code Playgroud)
您应该会看到 MBean 名称,如“PS Scavenge”或“PS Mark Sweep”。使用以下参考将名称与算法匹配:
Copy (Young) - 复制收藏家
ParNew (Young) - 并行年轻代收集器
PS Scavenge (Young) - 并行对象清道夫
MarkSweepCompact (Old) - 标记和清扫压实机
ConcurrentMarkSweep (Old) - 并发标记和清除压实器
PS MarkSweep (Old) - 并行标记和扫描收集器
也可以使用任何查看 MBean 的工具来收集相同的信息:JConsole、JVisualVM、Jprofiler 等。