wookayin/gpustat · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
gpustat
只是比 nvidia-smi 少 一点?

注意:此功能仅适用于 NVIDIA 显卡设备,目前不支持 AMD。欢迎提交贡献!
自我推广:gpustat 的 Web 界面现已可用(测试版)!请查看 gpustat-web。
快速安装
从 PyPI 安装:
pip install gpustat
如果您没有 root (sudo) 权限,请尝试在用户命名空间中安装 gpustat:pip install --user gpustat。
要通过 pip 安装最新版本(master 分支):
pip install git+https://github.com/wookayin/gpustat.git@master
NVIDIA 驱动程序和 pynvml 要求
[!IMPORTANT] 请勿:
pip install pynvml,也不要在你的 Python 项目中将pynvml作为依赖项。这样做行不通。相反:
pip install nvidia-ml-py。nvidia-ml-py 是 NVIDIA 官方的 NVML Python 绑定。
- gpustat 1.2+:需要
nvidia-ml-py >= 12.535.108(#161) - gpustat 1.0+:需要 NVIDIA 驱动程序 450.00 或更高版本以及
nvidia-ml-py >= 11.450.129。 - 如果你的 NVIDIA 驱动程序版本过旧,可以使用较旧的
gpustat版本(pip install gpustat<1.0)。更多详情请参见 #107。
Python 要求
- gpustat<1.0: Compatible with python 2.7 and >=3.4
- gpustat 1.0:Python >= 3.4
- gpustat 1.1:Python >= 3.6
用法
$ gpustat
选项(详情请参见 gpustat --help):
--color: 强制彩色输出(即使 stdout 不是 tty)--no-color: 抑制彩色输出-u,--show-user: 显示进程所有者的用户名-c,--show-cmd: 显示进程名称-f,--show-full-cmd: 显示运行中进程的完整命令和 CPU 统计信息-p,--show-pid: 显示进程的 PID-F,--show-fan: 显示 GPU 风扇转速-e,--show-codec: 显示编码器和/或解码器的利用率-P,--show-power: 显示 GPU 功耗和/或限制(draw或draw,limit)-a,--show-all: 显示上述所有 GPU 属性--id: 仅针对和查询具有指定索引的特定 GPU(例如--id 0,1,2)--no-processes: 不显示进程信息(用户、内存)(#133)--watch,-i,--interval: 如果提供,则以监视模式运行(等效于watch gpustat)。表示更新之间的间隔。--json: JSON 输出(#10)--print-completion (bash|zsh|tcsh): 打印 shell 补全脚本。用法请参见 #131。
提示
- 如果出现问题,请尝试
gpustat --debug。 - 若要定期监控,请尝试
gpustat --watch或gpustat -i(#41)。- 对于较旧版本,可以使用
watch --color -n1.0 gpustat --color。
- 对于较旧版本,可以使用
- 运行
nvidia-smi daemon(需要 root 权限)将使查询 GPU 的速度更快并减少 CPU 使用(#54)。 gpustat(以及nvidia-smi)显示的 GPU ID(索引)是 PCI BUS ID, 而 CUDA 默认使用不同的排序方式(将最快的 GPU 分配最低 ID)。 因此,为了确保 CUDA 和gpustat使用相同的 GPU 索引, 请将CUDA_DEVICE_ORDER环境变量配置为PCI_BUS_ID(在为你的 CUDA 程序设置CUDA_VISIBLE_DEVICES之前):export CUDA_DEVICE_ORDER=PCI_BUS_ID。
Python API
gpustat 也可以作为库使用,以便从你自己的代码中查询 GPU:
import gpustat
stats = gpustat.new_query() # a GPUStatCollection
stats.print_formatted() # same output as the `gpustat` command
data = stats.jsonify() # query result as a dict (same as `gpustat --json`)
默认显示
[0] GeForce GTX Titan X | 77°C, 96 % | 11848 / 12287 MB | python/52046(11821M)
[0]: 作为 PCI_BUS_ID 的 GPU 索引(从 0 开始)GeForce GTX Titan X: GPU 名称77°C: GPU 温度(摄氏度)96 %: GPU 利用率11848 / 12287 MB: GPU 内存使用量(已用 / 总量)python/...: GPU 上运行的进程,所有者/命令行/PID(及其 GPU 内存使用量)
Changelog
See CHANGELOG.md