问题现象描述
使用 1.0.0-300I-Duo-py311-openeuler24.03-lts 的Docker镜像,在310P上部署了qwen2.5-32b模型。在执行 /usr/local/Ascend/atb-models/examples/run_pa.py 时,程序报错提示NPU内存不足,并具体指出NPU0卡的内存不足。
图1 日志信息:RuntimeError: NPU out of memory. Tried to allocate 542.00 MiB (NPU 0; 43.24 GiB total capacity; 6.65 GiB already allocated; 12.34 GiB reserved)
原因分析
执行 npu-smi info 命令查询NPU信息,发现npu6和npu7几乎处于空闲状态,表明资源未被合理分配和充分利用。
图2 NPU信息
解决措施
在创建Docker容器时,确保将模型需要使用的NPU卡都挂载进容器中(如图2中的npu4、npu5、npu6、npu7),以便模型能充分利用可用资源。同时,可通过环境变量指定模型运行在哪几张卡上,操作命令为:export ASCEND_RT_VISIBLE_DEVICES=0,1,2,3,4,5,6,7。



