下载
中文
注册
新容器中运行npu-smi或hccn_tool等命令提示设备被占用

新容器中运行npu-smi或hccn_tool等命令提示设备被占用

2025/05/16

163

暂无评分
我要评分

问题信息

问题来源产品大类产品子类关键字
现网安装部署驱动固件npu-smi、hccn_tool、被占用

问题现象描述

在Atlas 300T 训练卡(型号:9000)、Atlas 300T Pro 训练卡(型号:9000)、Atlas 800 训练服务器(型号:9000)、Atlas 800 训练服务器(型号:9010)、Atlas 900 计算节点、Atlas 900T RAK 计算节点、Atlas 200T A2 Box16 异构子框、Atlas 800T A2 训练服务器、Atlas 800I A2 推理服务器、Atlas 900 A2 PoD 集群基础单元产品中的一个新启动的容器中调用npu-smihccn_tool等命令时提示设备被占用,返回“dcmi model initialized failed, because the device is used. ret is -8020”等类似报错信息,如图1所示。

图1 报错信息 放大

原因分析

  • 存在另一个普通容器正在使用这些设备。
  • 宿主机上存在与pid为1的进程“mount namespace”不同的进程正在使用这些设备。
  • 存在一个曾使用非root用户运行过的特权容器。

解决措施

  1. 在宿主机上执行cat /proc/uda/namespace_node命令查询当前环境上的设备使用情况。在ns_id小于128的映射表中根据udevid找到在新容器中不能使用的设备,进一步在映射表中找到正在使用该设备的进程,即表中的root_tgid。如图2所示,表示device 0和device 1被tgid为1162687的进程使用。

    图2 查看设备使用情况 放大

  2. 若该进程是宿主机上的进程,退出该进程即可;若通过ps -ef命令查询,发现进程1162687运行在容器(进程号为1162668)中,如图3所示,则根据进程名中的container id找到对应的容器,如图4所示,将该容器退出后,新的容器即可正常使用。

    图3 查看进程 放大
    图4 查找对应容器 放大
    放大

    若新的普通容器中映射的设备分别被多个其他普通容器占用,则需要将这些普通容器全部退出,新的普通容器才能使用这些设备。

本页内容