文档首页/
    
      
      MapReduce服务 MRS/
      
      
        
        
        组件操作指南(普通版)(巴黎区域)/
        
        
        使用Spark2x/
        
        
        Spark2x常见问题/
        
        
        SQL和DataFrame/
        
      
      在Beeline/JDBCServer模式下连续运行10T的TPCDS测试套会出现内存不足的现象
    
  
  
    
        更新时间:2022-02-22 GMT+08:00
        
          
          
        
      
      
      
      
      
      
      
      
  
      
      
      
        
在Beeline/JDBCServer模式下连续运行10T的TPCDS测试套会出现内存不足的现象
问题
在Driver内存配置为10G时,Beeline/JDBCServer模式下连续运行10T的TPCDS测试套,会出现因为Driver内存不足导致SQL语句执行失败的现象。
回答
当前在默认配置下,在内存中保留的Job和Stage的UI数据个数为1000个。
当前大集群优化已增加将UI数据溢出到磁盘的优化,其溢出条件是每个Stage中的UI数据大小达到最小阈值5MB。如果每个Stage的task数较小,那么其UI数据大小可能达不到该阈值,从而导致该Stage的UI数据一直缓存在内存中,直到UI数据个数到达保留的上限值(当前默认值为1000个),旧的UI数据才会在内存中被清除。
因此,在将旧的UI数据从内存中清除之前,UI数据会占用大量内存,从而导致执行10T的TPCDS测试套时出现Driver内存不足的现象。
规避措施:
   父主题: SQL和DataFrame