已关闭
[Question|问题咨询]: aclrtMallocPhysical 申请 1GB 大页内存只能申请 7G #476
Sterling创建于 5月6日关闭于 6月3日
ykl999
5月6日 评论:
5月6日 评论:
你好,把你的调用示例还有
/root/ascend下面的日志都发一下


5月6日 将 ykl999 设为负责人
rui
6月2日 评论:
6月2日 评论:
感谢您的反馈。关于您遇到的 aclrtMallocPhysical 申请大页内存失败(错误码 207001)且最大只能分配约 7GB 的问题,我们进行了系统性的试验验证,并结合 CANN 官方文档作出了以下分析和总结。
一、官方文档说明
CANN 运行时内存管理文档中已有相关指导:
文档链接:https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/83RC1alpha002/API/appdevgapi/aclcppdevg_03_0094.html
关键内容摘要:
若涉及申请Device上的大页内存,需注意,当前版本为防止大页内存不够用,系统内部已提前预留大页内存,用户在使用大页内存前,可调用 aclrtGetMemInfo 接口,查询空闲的大页内存。
Ascend EP形态下,Device启动后首次执行推理或训练任务时,会将系统包加载到Device上,因此会占用部分Device内存(300M左右,不同AI处理器有所不同)。若Device重启,这部分内存才会释放。
二、推荐方案
如果您的应用对物理连续内存没有硬性要求,推荐使用默认的 aclrtMalloc 接口,能访问更大的内存池(在 A2 X86 上测试约为 60 GB)。
如有其他问题,欢迎随时沟通。


Welcome to ask questions and discuss with other members.
问题描述
测试
aclrtMallocPhysical,发现持续报错:halMemCreate failed drvRetCode=6, ErrCode=207001, desc=[driver error:out of memory]。测试发现单台 A3 最多可以申请 7GB 的大页内存,why?这个接口需要什么前置操作么?and 如何确认可用内存的分布情况呢?