Apache Spark G1GC vs ParallelGC



我只是想知道,为什么我的ParallelGC(--conf "spark.executor.extraJavaOptions=-XX:+UseParallelGC"(在一个很长的Spark ML管道中比我设置G1GC(--conf "spark.executor.extraJavaOptions=-XX:+UseG1GC"(时工作得更快,即使Spark社区建议G1GC比ParallelGC好得多。

任何关于此的指示都会有所帮助。

如果你想知道它在你的情况下是如何工作的,那么你需要做一些实验来收集每组选项的JVM性能数据。这是必需的,因为除了您之外,没有人知道您的确切情况、环境和应用程序的数据负载。

您需要使用已启用的调试标志来分析集群的 JVM,这些标志会打开每个 GC 操作及其时间的日志记录,并在应用程序运行期间将该数据与负载指标相关联。此外,您还可以使用任何可视化分析器来查看实时图形(VisualVM,任务控制等(中的GC指标。

最新更新