鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

memory-fabric预留内存不足导致任务失败

问题现象描述

shuffle数据量过大时,ockd日志如下信息,出现大量申请内存失败告警。

2024-12-07 05:53:06.865170 2156943 warning [MF] lva_mem_region.c 608 [RegionMalloc] print: 193 messages suppressed.
2024-12-07 05:53:06.865201 2156943 warning [MF] lva_mem_region.c 608 [RegionMalloc] Areas scan failed, length(33554432) remain(3490447360).
2024-12-07 05:53:06.865361 2156949 warning [MF] lva_mem_region.c 608 [RegionMalloc] Areas scan failed, length(33554432) remain(3451387904).
2024-12-07 05:53:06.865369 2156949 warning [MF] lva_mem_region.c 608 [RegionMalloc] Areas scan failed, length(16777216) remain(3451387904).

关键过程、根本原因分析

由于当前不支持直接写盘,业务先写入内存,当预留内存不足时,无法申请到足够mf内存给blob使用,导致task失败。

结论、解决方案及效果

  1. 调大 ${OCK_HOME}/conf/mf.conf配置文件中的ock.mf.mem_size配置。
  2. 重启ockd进程。
    普通模式
    sh ${OCK_HOME}/ucache/24.0.0/linux-aarch64/sbin/ock-stop-ockd.sh
    sh ${OCK_HOME}/ucache/24.0.0/linux-aarch64/sbin/ock-start-ockd.sh

    Yarn模式

    sh ${OCK_HOME}/ucache/24.0.0/linux-aarch64/sbin/ock-stop-cluster.sh
    sh ${OCK_HOME}/ucache/24.0.0/linux-aarch64/sbin/ock-launch-cluster.sh
  3. 重新运行业务。