AWS G4dn实例安装DCGM后无法连接localhost主机引擎报错
问题核心诱因
这个报错本质是DCGM的客户端命令连不上本地运行的nv-hostengine后台服务,常见触发原因有4类:
- 手动修改软件源适配系统版本安装时,包依赖不匹配,导致
nv-hostengine服务安装后无法正常启动、启动后立刻崩溃 - AWS Deep Learning AMI默认预装了旧版本DCGM组件,和手动安装的新版本文件冲突,服务加载错动态库导致运行异常
nv-hostengine服务正常启动,但监听端口被占用、本地socket文件权限配置错误,客户端无权限连接- 实例NVIDIA驱动状态异常、GPU处于独占锁死状态,
nv-hostengine初始化时枚举GPU失败直接退出
排查解决步骤
按顺序执行以下操作,每步完成后测试dcgmi discovery -l命令是否能正常返回GPU信息,定位到问题点就不用继续往下走。
- 先确认服务运行状态
先查systemd托管的DCGM服务状态:
如果服务显示不存在、状态为dead/exit,直接前台启动systemctl status nvidia-dcgmnv-hostengine看实时报错,这一步能定位90%的启动失败问题:pkill -9 nv-hostengine # 先杀掉残留的异常进程 nv-hostengine -f- 如果前台启动报缺少依赖库、库版本不匹配错误:执行以下命令完全卸载现有DCGM包,清理残留后重新安装Ubuntu18.04对应版本的DCGM安装包,不要直接硬改高版本Ubuntu的软件源安装
apt remove --purge datacenter-gpu-manager -y apt autoremove -y rm -rf /etc/dcgm /var/log/dcgm - 如果前台启动报GPU访问、驱动相关错误:先执行
nvidia-smi确认驱动是否正常,如果nvidia-smi也无法返回GPU信息,先重装匹配CUDA11.4版本的NVIDIA驱动,重启实例后再操作。
- 如果前台启动报缺少依赖库、库版本不匹配错误:执行以下命令完全卸载现有DCGM包,清理残留后重新安装Ubuntu18.04对应版本的DCGM安装包,不要直接硬改高版本Ubuntu的软件源安装
- 排查服务托管配置问题
如果前台启动nv-hostengine后dcgmi命令能正常运行,但是后台托管的服务起不来,执行以下操作修复:# 前台启动测试正常后,按Ctrl+C停掉前台进程,启动后台服务 nv-hostengine -d # 重新加载systemd配置,设置开机自启 systemctl daemon-reload systemctl enable --now nvidia-dcgm - 排查连接权限和端口占用问题
如果确认nv-hostengine进程在运行还是连不上,先查默认监听端口是否被占用:
如果5555端口被其他进程占用,杀掉占用进程,或者启动ss -tulnp | grep 5555nv-hostengine时通过-p参数指定其他端口,执行dcgmi命令时同步指定对应端口连接即可。
另外执行命令的用户如果是非root用户,需要把用户加入dcgm用户组,重新登录SSH后再执行命令:usermod -aG dcgm <你的实际用户名> - 排查预装组件冲突问题
AWS Deep Learning AMI默认预装了部分DCGM相关组件,执行以下命令查找残留旧版本包,全部卸载清理后再重新安装对应版本DCGM即可:dpkg -l | grep dcgm
内容的提问来源于stack exchange,提问作者yooons
相关产品推荐
相关产品推荐

