nvitop:超越nvidia-smi的GPU监控神器,5个核心功能解析

张开发
2026/4/10 13:06:12 15 分钟阅读

分享文章

nvitop:超越nvidia-smi的GPU监控神器,5个核心功能解析
nvitop超越nvidia-smi的GPU监控神器5个核心功能解析【免费下载链接】nvitopAn interactive NVIDIA-GPU process viewer and beyond, the one-stop solution for GPU process management.项目地址: https://gitcode.com/gh_mirrors/nv/nvitopnvitop是一款功能强大的交互式NVIDIA GPU进程查看器为GPU进程管理提供一站式解决方案。无论你是深度学习研究员、系统管理员还是普通开发者掌握nvitop都能让你在GPU资源监控和管理方面事半功倍。本文将带你全面了解nvitop的核心功能和使用技巧。 为什么选择nvitop在GPU监控领域传统的nvidia-smi工具虽然基础但功能有限。nvitop在此基础上进行了全面增强提供了更丰富的功能和更好的用户体验彩色交互界面比nvidia-smi更直观的信息展示实时监控模式持续更新GPU状态和进程信息进程管理功能支持直接终止或杀死GPU进程设备筛选灵活选择要监控的GPU设备树状视图清晰展示进程父子关系核心关键词GPU监控工具 nvitop 安装与快速开始三种安装方式方法一使用uvx快速运行uvx nvitop方法二pipx安装推荐pipx run nvitop方法三传统pip安装pip3 install --upgrade nvitop验证安装nvitop --version如果遇到command not found错误可以尝试python3 -m nvitop --version 5大核心功能详解1. 实时GPU状态监控运行基础监控命令即可启动交互式界面nvitop界面显示内容包括✅ GPU利用率百分比✅ 显存使用情况✅ 运行中的进程信息✅ 温度和功耗数据✅ 风扇转速2. 智能进程管理在监控界面中你可以快捷键功能说明↑/↓选择进程T终止选中进程K强制杀死选中进程空格键标记/取消标记进程Enter查看进程详细指标e查看进程环境变量3. 灵活设备筛选根据需求筛选监控的GPU设备# 只监控GPU 0和GPU 1 nvitop -o 0 1 # 只监控CUDA可见的设备 nvitop -ov # 只显示计算类型的进程 nvitop -c4. 多模式显示切换nvitop提供三种显示模式auto模式自动根据终端大小调整默认full模式完整显示所有信息compact模式紧凑显示适合小屏幕切换方法在监控界面按a/f/c键5. 树状视图分析按t键切换到树状视图可以清晰看到GPU进程及其父进程的关系链进程的完整命令行进程的资源占用情况 高级配置与优化自定义监控阈值设置GPU利用率和显存使用的告警阈值nvitop --gpu-util-thresh 20 85 --mem-util-thresh 15 90环境变量配置为了更方便地使用可以在shell配置文件中设置# Bash用户 echo export NVITOP_MONITOR_MODEfull ~/.bashrc echo export NVITOP_GPU_UTILIZATION_THRESHOLDS20,85 ~/.bashrc echo export NVITOP_MEMORY_UTILIZATION_THRESHOLDS15,90 ~/.bashrc # Zsh用户 echo export NVITOP_MONITOR_MODEfull ~/.zshrc进程过滤技巧# 只显示特定用户的进程 nvitop -u username # 只显示特定PID的进程 nvitop -p 12345 67890 # 只显示图形类型的进程 nvitop -g Docker与容器化部署Docker快速启动docker run -it --rm --runtimenvidia --gpusall --pidhost ghcr.io/xuehaipan/nvitop:latest重要提示不要忘记添加--pidhost选项否则无法查看主机进程信息。Prometheus监控集成nvitop-exporter组件可以将GPU指标导出到Prometheus# 启动exporter uvx nvitop-exporter --bind-address 0.0.0.0 --port 5050 # 访问指标 curl http://localhost:5050/metricsGrafana仪表板使用预配置的Grafana仪表板cd nvitop-exporter/grafana docker compose up --build --detach访问http://localhost:3000查看完整的GPU监控仪表板。 SSH环境下的使用技巧SSH连接监控ssh userhost -t nvitop重要提示SSH连接需要添加-t选项来分配伪终端。ASCII模式支持对于不支持Unicode的终端nvitop -U权限管理查看其他用户的进程需要sudo权限sudo nvitop CUDA设备选择工具nvitop包含一个强大的CUDA设备选择工具nvisel基础使用# 选择4个设备 nvisel -n 4 # 选择满足条件的设备 nvisel --min-count 2 --max-count 3 --min-free-memory 5GiB --max-gpu-utilization 60 # 设置CUDA_VISIBLE_DEVICES环境变量 export CUDA_VISIBLE_DEVICES$(nvisel -c 1 -f 10GiB)Python集成import os from nvitop import select_devices os.environ[CUDA_VISIBLE_DEVICES] ,.join( select_devices(formatuuid, min_count4, min_free_memory8GiB) ) API编程接口nvitop提供了丰富的API可以轻松集成到其他应用中基础设备监控from nvitop import Device devices Device.all() for device in devices: print(fGPU {device.index}:) print(f - 利用率: {device.gpu_utilization()}%) print(f - 显存: {device.memory_used_human()}/{device.memory_total_human()}) print(f - 温度: {device.temperature()}°C)进程快照from nvitop import take_snapshots device_snapshots, process_snapshots take_snapshots() for device in device_snapshots: print(f{device.name}: {device.gpu_utilization}%)资源指标收集器from nvitop import ResourceMetricCollector collector ResourceMetricCollector(root_pids{1}, interval2.0) with collector(tagtraining): # 训练代码 metrics collector.collect() # 记录到TensorBoard或CSV文件️ 常见问题与解决方案问题1监控界面显示异常解决方案使用ASCII模式nvitop -U问题2无法看到其他用户的进程解决方案使用sudo权限运行sudo nvitop问题3终端颜色显示异常解决方案强制启用颜色nvitop --force-color问题4轻色主题终端显示问题解决方案使用light模式nvitop --light 性能优化建议1. 调整更新间隔默认2秒更新一次可根据需要调整nvitop --interval 5 # 5秒更新一次2. 减少监控设备只监控需要的GPUnvitop -o 0 1 2 # 只监控GPU 0,1,23. 使用缓存优化nvitop内置了TTLCache自动缓存查询结果减少NVML调用频率。 自定义主题与显示彩色渐变条nvitop --colorful自定义阈值颜色nvitop --gpu-util-thresh 10 80 --mem-util-thresh 5 85 相关资源与文档官方文档完整API文档nvitop.readthedocs.ioGitHub仓库https://gitcode.com/gh_mirrors/nv/nvitop核心模块设备管理nvitop/api/device.py进程管理nvitop/api/process.py资源收集nvitop/api/collector.py选择工具nvitop/select.py扩展组件Prometheus导出器nvitop-exporter/Grafana仪表板nvitop-exporter/grafana/ 总结nvitop作为一款功能全面的GPU监控工具不仅提供了比nvidia-smi更丰富的功能还具备以下优势交互性强支持键盘和鼠标操作效率高直接使用NVML Python绑定无需解析nvidia-smi输出可移植性好支持Linux和Windows系统集成方便提供丰富的API接口扩展性强支持Prometheus和Grafana集成无论你是需要简单的GPU状态查看还是复杂的多GPU集群监控nvitop都能满足你的需求。通过本文的介绍相信你已经掌握了nvitop的核心功能和使用技巧现在就可以开始使用这个强大的工具来提升你的GPU管理效率了长尾关键词GPU进程监控、NVIDIA设备管理、深度学习资源监控、多GPU服务器管理、CUDA设备选择工具【免费下载链接】nvitopAn interactive NVIDIA-GPU process viewer and beyond, the one-stop solution for GPU process management.项目地址: https://gitcode.com/gh_mirrors/nv/nvitop创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

更多文章