麒麟os上查看gpu显存使用情况有四种方法:一、nvidia-smi命令适用于nvidia显卡,显示显存总量、已用量及进程详情;二、gpustat工具支持多gpu汇总监控,输出简洁表格;三、通过cgroup接口获取容器级显存配额与消耗,适用于信创云平台;四、radeontop用于amd显卡,显示显存带宽利用率。

如果您在麒麟OS上运行图形密集型应用或AI推理任务,但发现GPU性能异常或程序报显存不足错误,则可能是由于无法准确获知当前显存占用状态。以下是查看显存使用情况的多种方法:
一、使用nvidia-smi命令查看NVIDIA显卡显存
该命令专为NVIDIA GPU设计,可直接输出显存总容量、已用/空闲量、GPU利用率及各进程显存占用详情,信息实时且结构清晰,但仅适用于已安装官方驱动的NVIDIA显卡。
1、打开终端,输入以下命令并回车:nvidia-smi
2、在输出表格中定位“Memory-Usage”列,例如显示“1024MiB / 24576MiB”,其中斜杠前数值为当前已用显存,斜杠后为显卡总显存容量。
3、向下滚动至“Processes”部分,查看各进程PID、类型(C=Compute,G=Graphics)、GPU内存占用(GPU Memory Usage)及对应命令名。
4、若需持续刷新监控,添加-l参数,例如:nvidia-smi -l 2,表示每2秒自动更新一次。
二、通过gpustat工具获取多GPU显存汇总视图
gpustat是一个轻量级Python工具,支持以简洁表格形式同时显示多块GPU的显存使用率、温度、功耗及进程归属用户,兼容NVIDIA与部分AMD GPU,适合批量部署环境下的快速巡检。
1、执行安装命令:pip3 install gpustat
2、运行监控:gpustat -i 3,其中-i 3表示每3秒刷新一次。
3、观察输出中“Memory-Usage”字段,如显示3.20/24.00GB,即表示已用3.20GB,总显存24.00GB。
4、若某GPU行末标注[no processes],说明该卡当前无进程独占显存,但缓存可能仍被内核保留。
三、读取/sys/fs/cgroup/devices/下GPU设备cgroup显存限制与使用
当麒麟OS启用cgroup v2并配置了GPU资源隔离(如通过nvidia-container-toolkit部署容器),可通过cgroup接口获取容器级显存配额与实际消耗,适用于信创云平台或AI训练平台的精细化资源审计场景。
1、确认GPU设备是否挂载到cgroup:执行ls /sys/fs/cgroup/devices/,查找含nvidia或gpu字样的子目录。
2、进入目标cgroup路径,例如:cd /sys/fs/cgroup/devices/kubepods.slice/kubepods-burstable-podxxx
3、读取显存使用文件:cat devices.list | grep nvidia,确认设备权限;再执行cat memory.current(若启用memory controller)或检查NVIDIA专属接口。
4、对于NVIDIA容器,更可靠方式是进入容器内部执行nvidia-smi --query-compute-apps=pid,used_memory --format=csv。
四、使用radeontop监控AMD GPU显存(如适用)
针对搭载AMD Radeon显卡的麒麟OS系统(如部分飞腾+AMD异构平台),radeontop可提供GPU核心频率、显存带宽占用率及VRAM使用趋势,虽不直接显示MB数值,但能反映显存压力峰值与持续时间。
1、安装工具:sudo apt install radeontop
2、加载amdgpu驱动调试接口:echo 1 | sudo tee /sys/module/amdgpu/parameters/ppfeaturemask
3、启动监控:sudo radeontop -d /dev/dri/renderD128
4、在界面中观察“Vram”行右侧的百分比数值,该值反映当前显存带宽利用强度;若长期高于90%,表明显存通道趋于饱和。










