我想使用 nvidia-smi 来监控我的机器学习/人工智能项目中的 GPU。然而,当我在命令提示符、git bash 或 powershell 中运行 nvidia-smi
时,我得到以下结果:
$ nvidia-smiSun May 28 13:25:46 2017+-----------------------------------------------------------------------------+| NVIDIA-SMI 376.53 Driver Version: 376.53 ||-------------------------------+----------------------+----------------------+| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC || Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. ||===============================+======================+======================|| 0 GeForce GTX 1070 WDDM | 0000:28:00.0 On | N/A || 0% 49C P2 36W / 166W | 7240MiB / 8192MiB | 4% Default |+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+| Processes: GPU Memory || GPU PID Type Process name Usage ||=============================================================================|| 0 7676 C+G ...ost_cw5n1h2txyewy\ShellExperienceHost.exe N/A || 0 8580 C+G Insufficient Permissions N/A || 0 9704 C+G ...x86)\Google\Chrome\Application\chrome.exe N/A || 0 10532 C ...\Anaconda3\envs\tensorflow-gpu\python.exe N/A || 0 11384 C+G Insufficient Permissions N/A || 0 12896 C+G C:\Windows\explorer.exe N/A || 0 13868 C+G Insufficient Permissions N/A || 0 14068 C+G Insufficient Permissions N/A || 0 14568 C+G Insufficient Permissions N/A || 0 15260 C+G ...osoftEdge_8wekyb3d8bbwe\MicrosoftEdge.exe N/A || 0 16912 C+G ...am Files (x86)\Dropbox\Client\Dropbox.exe N/A || 0 18196 C+G ...I\AppData\Local\hyper\app-1.3.3\Hyper.exe N/A || 0 18228 C+G ...oftEdge_8wekyb3d8bbwe\MicrosoftEdgeCP.exe N/A || 0 20032 C+G ...indows.Cortana_cw5n1h2txyewy\SearchUI.exe N/A |+-----------------------------------------------------------------------------+
GPU Memory Usage
列对每个进程都显示 N/A
。此外,列出的进程数量比我在网上找到的大多数示例都要多。这可能是什么原因?
我使用的是 ASUS 生产的 Nvidia GTX 1070,我的操作系统是 Windows 10 Pro。
回答:
如果你执行以下操作:nvidia-smi -q
,你会看到以下内容:
Processes Process ID : 6564 Type : C+G Name : C:\Windows\explorer.exe Used GPU Memory : Not available in WDDM driver model
在 WDDM 驱动模型中不可用 => WDDM 代表 Windows 显示驱动模型。你可以切换到 TCC 并使用命令 nvidia-smi -dm 1
获取信息,但此操作只能在没有显示器连接到 GPU 的情况下进行。所以…这几乎是不可能的…
顺便说一下,别担心高内存使用情况,Tensorflow 会尽可能多地保留 GPU 内存以加速其进程。如果你希望对所占用的内存有更精细的控制,可以使用以下方法(这可能会稍微减慢你的计算速度):
config = tf.ConfigProto()config.gpu_options.allow_growth = Truesess = tf.Session(config=config)
你可以创建一个 Ubuntu 的双启动系统,或者干脆忽略这个问题。