【发布时间】:2019-07-27 17:12:13
【问题描述】:
我正在火花集群上的 azure databricks python notebook 中执行打印“Hello World”作业。每次运行 Job 都需要超过 12 秒的时间来执行,预计需要不到 12 秒,因为它是任何人都能想到的最简单的 python 代码。当我验证日志时,它显示 GC 分配失败,如下所示:
2019-02-15T15:47:27.551+0000: [GC (Allocation Failure) [PSYoungGen: 312512K->57563K(390144K)] 498744K->243803K(1409024K), 0.0153696 secs] [Times: user=0.05 sys=0.00, real=0.02 secs]
2019-02-15T15:47:28.703+0000: [GC (Metadata GC Threshold) [PSYoungGen: 206668K->65267K(385024K)] 392909K->251515K(1403904K), 0.0187692 secs] [Times: user=0.06 sys=0.00, real=0.02 secs]
2019-02-15T15:47:28.722+0000: [Full GC (Metadata GC Threshold) [PSYoungGen: 65267K->0K(385024K)] [ParOldGen: 186248K->244119K(1018880K)] 251515K->244119K(1403904K), [Metaspace: 110436K->110307K(1144832K)], 0.3198827 secs] [Times: user=0.64 sys=0.04, real=0.32 secs]
想知道由于 GC 分配失败导致作业延迟 > 12 秒吗?如果是,我怎样才能减少它?如果没有,延迟的其他原因是什么以及如何纠正?
【问题讨论】:
-
你能考虑接受这个答案吗?
标签: python apache-spark garbage-collection jvm azure-databricks