在麒麟系统中,应使用nvidia-smi(nvidia)、gpustat(多gpu)、radeontop(amd)或cgroup接口(容器环境)获取显存占用,其中nvidia-smi最精准,直接读取驱动层寄存器值,显示“memory-usage”如“1024mib / 24576mib”,斜杠前为已用显存。

在麒麟系统中准确掌握显卡当前显存占用量,是排查图形应用卡顿、AI训练中断或“CUDA out of memory”报错的前提;必须避开图形界面中模糊的“集成显卡”描述,直接读取驱动层实时上报的硬件寄存器值或内核暴露的内存映射快照。
使用nvidia-smi查看NVIDIA显卡显存占用
该命令专为NVIDIA GPU设计,无需额外安装(只要官方驱动已加载),输出包含显存总量、已用/空闲量、GPU利用率及各进程显存分配详情,信息实时且结构清晰。
打开终端,输入命令:nvidia-smi,回车执行。
在输出表格的第二行定位“Memory-Usage”列,例如显示“1024MiB / 24576MiB”,斜杠前数值即为当前已用显存,斜杠后为总显存容量;该值由GPU驱动从显存控制器寄存器直接读取,精度最高。
向下滚动至“Processes”部分,可查看每个占用显存的进程PID、类型(C=计算任务,G=图形渲染)、显存用量(GPU Memory Usage)及对应命令名;若某进程显存占用持续不释放,可据此精准kill。
若需持续刷新监控,添加-l参数,例如:nvidia-smi -l 1表示每1秒自动更新一次;【注意:若执行后提示“NVIDIA-SMI has failed”,说明nvidia-driver未正确加载,需先运行nvidia-smi -L验证设备识别状态】。
使用gpustat查看多GPU显存汇总视图
当系统配备多块NVIDIA或部分AMD GPU时,gpustat能以简洁表格形式同时展示各卡显存使用率、温度、功耗及归属用户,适合批量巡检与容器环境快速判断资源争抢。
方法一:安装并运行基础监控
执行:pip3 install gpustat → 安装完成后运行:gpustat -i 2(每2秒刷新)。
方法二:以用户身份免sudo运行
若pip3安装失败,改用系统包管理器:sudo apt install python3-pip && pip3 install --user gpustat → 启动时加--no-nvml参数绕过权限检查:gpustat --no-nvml -i 3。
观察输出中“Memory-Usage”字段,如显示3.20/24.00GB,即表示已用3.20GB,总显存24.00GB;该值与nvidia-smi一致,但聚合显示更省屏。
通过radeontop监控AMD显卡显存带宽与占用
radeontop是专为AMD Radeon显卡设计的终端级实时工具,能直接读取GPU硬件寄存器,输出显存带宽使用率(VRAM %)、核心频率、电压及MCLK(显存时钟)等关键指标,适用于Kylin V10 SP1 ARM64及x86_64平台。
第一步:安装工具
执行:sudo apt install radeontop -y。
第二步:以root权限启动
执行:sudo radeontop;界面顶部第一行显示的GPU %为计算单元占用率,VRAM %即为显存带宽实时占用百分比——它反映显存数据吞吐压力,而非静态容量占用。
第三步:退出监控
按q键退出;【注意:若启动时报错“Permission denied”或“No device found”,说明amdgpu/radeon驱动未启用或debugfs未挂载,需先执行sudo mount -t debugfs none /sys/kernel/debug】。
读取cgroup接口获取容器级GPU显存配额与消耗
当麒麟OS部署于信创云平台并启用cgroup v2与NVIDIA容器工具链(如nvidia-container-toolkit)时,可通过cgroup路径精确审计单个容器的显存配额上限与实际消耗,适用于AI训练平台资源隔离验证场景。
① 确认GPU设备是否挂载到cgroup:ls /sys/fs/cgroup/devices/ | grep -i nvidia,若返回nvidia或gpu相关目录,则路径存在。
② 进入目标容器cgroup路径,例如:cd /sys/fs/cgroup/devices/kubepods.slice/kubepods-burstable-podxxx。
③ 查看设备白名单是否放行GPU:cat devices.list | grep nvidia;若无输出,说明该容器未被授权访问GPU,显存占用必为0。
④ 读取显存使用量(需启用memory controller):cat memory.current 2>/dev/null;该值单位为字节,反映该容器当前实际占用的GPU显存总量。











