我只想知道,为什么我在一个非常长的Spark ML管道中的ParallelGC (--conf "spark.executor.extraJavaOptions=-XX:+UseParallelGC")比我设置G1GC (--conf "spark.executor.extraJavaOptions=-XX:+UseG1GC")时工作得更快,即使Spark社区建议G1GC比ParallelGC要好得多。
任何关于这方面的建议都会有所帮助。
发布于 2018-06-20 14:39:41
如果您想知道它在您的案例中是如何工作的,那么您需要做一些实验来收集每组选项的JVM性能数据。这是必需的,因为除了您之外,没有人知道您的确切情况、您的环境和应用程序的数据负载。
您需要使用启用的调试标志来分析集群的JVM,这些调试标志打开每个GC操作及其时间的日志记录,并在应用程序运行期间将这些数据与负载指标相关联。此外,您还可以使用任何可视化分析器来查看实时图形(VisualVM、任务控制等)中的GC指标。
https://stackoverflow.com/questions/50941454
复制相似问题