实时查看GPU运行状况

文章介绍了两种监控NVIDIAGPU使用情况的工具,分别是通过命令nvidia-smi配合watch-n1进行实时更新,以及使用gpustat工具,可以通过pipinstall安装。这两种方法都能帮助用户有效监控GPU的状态和性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法1: nvidia-smi

watch -n 1 nvidia-smi    #带更新

方法2: gpustat

pip install gpustat
watch -n 1 gpustat

### 实时监控 GPU 使用率和运行状态的方法 为了实时监控 NVIDIA GPU 的使用率和运行状态,有多种方法可供选择。以下是几种常见的解决方案及其特点: #### 方法一:使用 `nvidia-smi` 命令 `nvidia-smi` 是 NVIDIA 提供的一个命令行工具,可以直接查询 GPU 的各项性能指标,包括显存使用量、GPU 利用率、温度等[^3]。 可以通过以下命令获取基本信息: ```bash nvidia-smi ``` 该命令会返回当前系统的 GPU 数量、每张卡的显存使用情况、GPU 占用率以及其他硬件信息。 如果需要定期刷新数据,可以加上 `-l` 参数设置轮询间隔时间(秒),例如每隔 2 秒更新一次: ```bash nvidia-smi -l 2 ``` --- #### 方法二:使用第三方工具 `nvtop` `nvtop` 是一个类似于 `htop` 的可视化工具,能够以动态图形化界面的形式展示 GPU 的多项性能指标,如温度、显存使用、GPU 使用率等[^2]。 安装方式如下(以 Ubuntu 系统为例): ```bash sudo apt install nvtop ``` 启动后即可进入交互式的 GPU 监控界面。 --- #### 方法三:利用 PyNVML 库编写自定义脚本 PyNVML 是 NVIDIA Management Library (NVML) 的 Python 封装库,允许开发者通过编程的方式访问 GPU 的各种状态信息。下面是一个简单的示例代码,用于打印 GPU 的利用率和显存使用情况: ```python import pynvml def get_gpu_info(): try: pynvml.nvmlInit() device_count = pynvml.nvmlDeviceGetCount() # 获取 GPU 数量 gpu_infos = [] for i in range(device_count): handle = pynvml.nvmlDeviceGetHandleByIndex(i) name = pynvml.nvmlDeviceGetName(handle).decode('utf-8') # 获取 GPU 名称 mem_info = pynvml.nvmlDeviceGetMemoryInfo(handle) # 显存信息 total_mem = mem_info.total / (1024 ** 2) # 转换为 MB used_mem = mem_info.used / (1024 ** 2) util_rate = pynvml.nvmlDeviceGetUtilizationRates(handle) # GPU 利用率 gpu_util = util_rate.gpu info = { 'name': name, 'total_memory_mb': round(total_mem, 2), 'used_memory_mb': round(used_mem, 2), 'utilization_percentage': gpu_util } gpu_infos.append(info) return gpu_infos except Exception as e: print(f"Error occurred: {e}") finally: pynvml.nvmlShutdown() if __name__ == "__main__": gpus = get_gpu_info() for idx, gpu in enumerate(gpus): print(f"GPU {idx}: Name={gpu['name']}, Used Mem={gpu['used_memory_mb']}MB/{gpu['total_memory_mb']}MB, Util Rate={gpu['utilization_percentage']}%") ``` 上述代码展示了如何通过 PyNVML 查询多个 GPU 的名称、显存使用量以及 GPU 利用率。 --- #### 方法四:部署 Web 可视化平台 对于希望在网页端实时查看 GPU 运行状态的需求,可以选择搭建基于浏览器的监控系统。一种推荐方案是使用 `nvidia-gpu-exporter` 工具[^4]。此工具配合 Prometheus 和 Grafana,可以实现 GPU 数据的采集与图表化展示。具体步骤包括: 1. 安装并配置 `nvidia-gpu-exporter`; 2. 配置 Prometheus 抓取 exporter 的数据; 3. 在 Grafana 中创建仪表盘,绘制 GPU 使用率曲线图和其他关键指标。 这种方法适合团队协作环境,便于多人远程监控 GPU 状态。 --- ### 结论 综上所述,可以根据实际需求选择合适的监控手段。如果是本地开发调试场景,建议优先尝试 `nvidia-smi` 或 `nvtop`;而对于生产环境中多用户共享 GPU 资源的情况,则更适合采用基于 Web 的可视化监控方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值