如何在Windows上运行nvidia-smi?

41

nvidia-smi 在Windows的命令提示符(CMD)中执行时会返回以下错误

C:\Users>nvidia-smi
'nvidia-smi' is not recognized as an internal or external command,
operable program or batch file.

它在哪里?CUDA已经安装了。

8个回答

68

Nvidia-SMI默认存储在以下位置

C:\Windows\System32\DriverStore\FileRepository\nvdm*\nvidia-smi.exe

其中nvdm*是以nvdm开头并在其后具有未知数量字符的目录。

注意:旧安装可能在C:\Program Files\NVIDIA Corporation\NVSMI中安装。

您可以进入该目录,然后从那里运行nvidia-smi。但是,命令提示窗口不会持续存在,这使得很难查看信息。此外,确定nvdm*目录是令人困惑的,因为它会更改,并且有多个此格式的目录。为了使事情变得更加复杂,与Linux不同,它不能在不同的路径中通过命令行执行。最好找到确切的位置并创建定期运行它的快捷方式。

查找确切位置的方法

  1. 打开文件资源管理器(位于任务栏附近的文件夹图标,靠近开始/语音助手/任务视图按钮)。
  2. 在左侧面板中,单击“此电脑”。
  3. 在主窗口视图器上方,有一个搜索栏。键入nvidia-smi.exe,然后按回车键。等待一段时间后,将出现结果。
  4. 右键单击并选择“打开文件位置”,然后按照下面的说明创建桌面快捷方式,或者双击运行一次(不建议这样做,因为它运行并关闭窗口一旦完成,使得很难看到信息)。

创建定期运行nvidia-smi并刷新的快捷方式

  1. 按照上述方法查找确切位置。
  2. 右键单击nvidia-smi.exe(在视图窗格中可能只显示nvidia-smi),并选择创建一个快捷方式。它可能会告诉您无法在此处创建快捷方式,并询问是否要将其放在桌面上。点击是。
  3. 现在,在桌面上,右键单击刚刚创建的快捷方式,点击属性,然后在快捷方式 > 目标下修改字符串路径,以包含-l <要刷新的时间>

例如,修改:

C:\Windows\System32\DriverStore\FileRepository\nvdm*\nvidia-smi.exe

C:\Windows\System32\DriverStore\FileRepository\nvdm*\nvidia-smi.exe -l 5

然后点击“应用”,再点击“确定”。

在此示例中,当您打开快捷方式时,它将保持命令提示符打开并允许您观看您的工作,因为nvidia-smi每五秒刷新一次。


3
我在NVIDIA Corporation文件夹中找不到这个文件夹,对我来说它在System32中。 - andrew-zmeul
1
从 Windows 8.0 开始,Windows Explorer 已更名为文件资源管理器。 - bit_scientist
将“C:\Program Files\NVIDIA Corporation\NVSMI”添加到系统环境变量的“Path”中,并重新启动命令提示符,这对我有效。 - thhVictor
2
@dward4,更改路径是什么时候引入的?我仍然将其保存在我的NVSMI文件夹中,并且我从官方网站https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exe_local下载了CUDA,我相信这也必须更新驱动程序。驱动程序版本:471.41 CUDA版本:11.4。操作系统版本为10.0.19041。 - Yash Jakhotiya
这个答案已经过时了。nvidia-smi.exe在c:/Windows/System32中,因此默认情况下它在PATH中。 - Russell Trahan
1
不,即使安装了CUDA Toolkit,nvidia-smi.exe也不在C:\Windows\System32中。 - brethvoice

21
您可以将 "C:\Program Files\NVIDIA Corporation\NVSMI" 添加到 PATH 中,然后重新启动控制台。
系统属性 > 高级 > 环境变量 > 系统变量 -> Path -> 编辑 > 新建 > 插入带有 nvidia-smi 的文件夹路径。

“重新启动控制台”是什么意思?我已经重新启动了命令提示符,但这仍然没有起作用。 - brethvoice

14

在我的安装了CUDA 10.2的Windows 10机器上,nvidia-smi.exe可以在 C:\Windows\System32 找到。

由于C:\Windows\System32已经被添加到系统路径中,因此在命令提示符中运行nvidia-smi应该可以直接使用。


C:\Windows\System32并不在我的Windows Path变量中。此外,nvidia-smi.exe并没有位于那个文件夹中,但它在C:\Program Files\NVIDIA Corporation\NVSMI中。 - brethvoice

2
  1. 打开文件资源管理器,然后进入C盘,在搜索栏中键入nvidia-smi
  2. 等待一段时间,当exe文件打开时右键单击,进入属性,复制位置路径
  3. 然后进入Anaconda命令提示符,使用步骤2中的复制路径更改工作目录
  4. 然后输入“nvidia-smi”,按回车键

点击此处获取更多信息


1
在Windows系统上,您可以使用Power Shell并输入nvidia-smi -l 1以每秒汇总一次GPU信息,或者使用nvidia-smi -lms以每毫秒汇总一次。不要忘记将CUDA环境文件添加到PATH中,如上述建议所述。

0
你可以尝试编写一个 .bat 文件,以便稍后进行一键操作。
ECHO Open folder
::my nvidia-smi folder (nvidia-smi.exe can be found on two different folders, either is ok)
cd /d c:\Program Files\NVIDIA Corporation\NVSMI
::cd /d c:\Windows\System32\DriverStore\FileRepository\nvami.inf_amd64_42b7e5f6a9e28f81

ECHO NVIDIA-SMI
::use `-l < time you want it to refresh >` to keep window
call nvidia-smi.exe -l 3

参考@Hewston,上述脚本可以进一步简化如下:

::ECHO Open folder
::add my nvidia-smi folder to PATH variable
::cd /d c:\Program Files\NVIDIA Corporation\NVSMI

ECHO NVIDIA-SMI
::use `-l < time you want it to refresh >` to keep window
call nvidia-smi.exe -l 5

0
请使用PDF文档,查看开关和命令的用法。

file:///C:/Windows/System32/DriverStore/FileRepository/nvdmi.inf_amd64_*/nvidia-smi.1.pdf


0
截至2023年8月,驱动版本为536.23,我的驱动文件位于“C:\Windows\System32\DriverStore\FileRepository\nv_dispig***********”。 操作系统为Windows 10。
我想你必须自己去找它。 就个人而言,我不明白为什么它不能和以前一样放在“c:\Program Files\NVIDIA Corporation\NVSMI”文件夹中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接