spark stage时间代表什么,执行任务gc time代表什么?

时间:2019-03-20 23:08:02

标签: java performance apache-spark jvm jvm-arguments

我在这里有三个问题。

  1. 第一个是我的火花作业仅包含一个阶段,其工作时间/阶段时间如下图所示。根据我的见解,工作时间是固定时间,在这里,阶段时间几乎是工作时间的一半,它代表什么。
  

火花作业时间   SparkJobTime   火花舞台时间   SparkStageTime

  1. 秒数问题是GC时间与任务时间相比太大,gc时间代表什么。我的意思是是否包含次要/完整的gc,是否包含终止世界? SparkExecutors
  

备注
  工作量:读取hbase->做少量处理->在hdfs上另存为实木复合地板
  数据大小:〜40T
  执行者人数:180
  执行程序堆内存:16G
  执行器开销内存:4G
  执行器jvm:oracle 64bit
  执行程序jvm args:-Xms16g -Xmx16g -XX:+UseG1GC -XX:G1HeapRegionSize=32m -XX:+UseCompressedOops

  1. 执行器的gc非常不正常,我正在对其进行调查,以下信息是我发现的。我想知道如何优化JVM args,看来完整的gc需要很长时间(大于20秒)。
      

    堆内存使用情况   HeapMemUsage   G1伊甸园空间   G1EdenSpace   G1幸存者空间   G1SurvivorSpace   G1旧空间   G1OldSpace   GC统计信息
      G1年轻一代(1,034个收藏集)上的6分钟
      G1 Old Generation(46个收藏集)上的22分钟

  

让我们看看堆是什么样的(我丢了一个堆)
  抱歉,这里没有图片,我昨天用Eclipse Memory Analysis分析它时没有保存它,但是我们可以确保它们是三个大的Hash Map对象,消耗了将近10G的内存(这三个家伙是静态var,不能免费版,这不是bug!它确实需要这三个大的哈希图。)

谢谢。

0 个答案:

没有答案