PPXG 发表于 2024-4-9 23:33

一些可能对你调节N卡性能、功耗有帮助的NVIDIA SMI命令简单介绍

本帖最后由 PPXG 于 2024-4-24 12:24 编辑

nvidia-smi(NVIDIA System Management Interface)这个东西可能隔壁专业生产力用户接触的比较多,然而我们这些打游戏的和OC佬对显卡的性能调整可能大家都还在用MSI Afterburner这个东西[偷笑] 虽然小飞机也挺不错的,但是终归还是有些做不到的事情。

nvidia-smi涉及到的东西其实还挺多的,而我也只是堪堪了解其中的一点点,这里简单分享一下出来。

执行nvidia-smi相关命令需要以管理员权限打开命令提示符cmd。所有改动在重启电脑后会恢复,睡眠唤醒可以继续生效

下文所涉及到的命令我能保证最低生效的显卡是Turing(GTX16 RTX20)那一代,当然后续的Ampere Ada(RTX30 RTX40)也是可以的,Pascal(GTX10)那一代我试了部分调节指令(对核心和显存频率的操作)是不受到支持的。


1. nvidia-smi -q -d SUPPORTED_CLOCKS
显示当前显卡支持的频率,包含核心与显存。顺带一提16系往后基本核心支持的档位15MHz一档,3060 3050等少数显卡细分到7.5HMz一档。

注:本帖所有的核心频率均为等效频率,与Afterburner里显示的显存频率一致,显存实际工作频率请参考GPU-Z的监控栏。

2. nvidia-smi -pl xxx
设定显卡功耗上限,单位是瓦特,可以精确到两位小数。这个数值不能超出NVIDIA BIOS里的最大最小功耗限制,详情可以通过GPU-Z查看。相比于Afterburner按照百分比拉条,这个调节可以更精细一些。
这个调节对于功耗控制机制更复杂的笔记本显卡可能不生效,笔记本显卡建议使用厂商自家的控制中心等软件对显卡功耗墙进行调节(如果有),并且单独设定功耗可能与dynamic boost功能出现冲突,建议仔细斟酌利弊,或者使用下方的命令限制核心和显存频率上限变相达成限制功耗。


3. nvidia-smi -lgc xxx
锁定显卡核心频率在一个固定值。与Afterburner中调出VF曲线选定一个点Ctrl+L效果类似,当然能不能锁住受限于多种因素,太高的频率或者超过可操作电压限制(比如你给一张RTX4070设定3300MHz@1.200V)等是不生效的。
需要注意设定核心频率只取决于当前生效的VF曲线,如果在锁定核心频率的情况下对显卡进行超频或者降频,VF曲线发生变化可能导致生效的电压也出现变化,因为这个操作是先定频,然后看当前运行频率对应的电压点位是多少

4. nvidia-smi -lgc a,b
限制显卡核心频率在一个区间范围内(a-b)。相比于上一条定频灵活性更高。如果a设置为显卡待机时能达到的最低频率,其效果类似于在VF曲线拉平频率b后的点位(不让显卡跑到更高的频率点)。
我个人是很喜欢这个功能的,可以在一些中度负载游戏里直接把显卡锁定在最低电压时能跑到的最高频率(NVIDIA默认的boost策略会把核心频率拉得很高),可以明显降低风扇噪音和显卡发热。
这个指令对于同架构的笔记本显卡这个也是生效的,在无法调节显卡功耗上限的情况下,可以通过适当降低频率上限(电压上限也跟着降低了)变相降低显卡功耗,减少笔电散热噪音。

4090不限制核心频率跑在2850MHz@1.05V对比限制核心频率上限2475MHz@0.875V,功耗降低30%帧数不变,风扇全程维持最低转速,非常安静


小飞机拉平曲线效果类似,会限制核心不超过一个频点,当然这个比小飞机拉曲线灵活性更高些:



5. nvidia-smi -rgc
刚才乱改一通核心频率想恢复默认怎么办?除了重启这个电脑你也可以使用这个命令。[偷笑]

6. nvidia-smi -lmc xxx
锁定显卡显存频率在一个固定值。Afterburner应该是做不到这一点的。在介绍的第一条指令里你可以看到你的显卡所支持的所有显存频率,注意锁定时填写的数字尽量比支持的显存频率低一点点,否则可能跑到更高的档位上面去。

7. nvidia-smi -lmc a,b
限制显卡显存频率在一个区间范围内(a-b)。我个人在使用3080Ti时非常喜欢这个功能,部分游戏对显存带宽的压力并不大,但是显存依然会跑在最高频率,那一代GDDR6X满频率下的功耗有多恐怖懂得都懂[困惑] ,显存限制在5002MHz功耗会低一大截,配合核心频率上限限制,对3080-3090这几位使用GDDR6X的电老虎在半载附近时的游戏功耗降低非常显著。


补充:30-40系GDDR6X显存的卡一般有以下几档(具体可以参考第一条命令列出的显存可支持频率)
最高频率(如10502MHz 9502MHz,此为你的显卡显存能跑到的最高频率,会根据显存超频情况同步变化)
在上一档最高频率的基础上 offset -200MHz,这个似乎是N卡在进入CUDA模式时的设定,在AI画图、锻炼等场景下就会出现,不过可能不会显示在支持频率列表里
5002MHz
810MHz
405MHz(此为显存可配置的的最低运行频率)
笔记本显卡那边比较负载,推荐根据第一条指令查看自己显卡支持的显存频率针对性调节,不过我在喊朋友的40系笔记本测试时发现他的显存除了8000MHz,还有7000、6000MHz这两个档位,调节灵活性或许会大一些,就是不知道这三个频率实际是不是同一个电压了。


8. nvidia-smi -rmc
显存频率恢复默认

其他:对于pascal(GTX10、NVIDIA Titan X 系列)架构的显卡,可以用如下命令设置运行时显存和核心频率,但是我之前测试时似乎不太好使,负载大了会定不住继续向上提升频率[无奈]


如果你希望自己的设置可以一键运行,可以新建一个记事本文档,写入你的命令并更改后缀名为bat,使用管理员权限运行,记得在第一行加入“@echo off”,运行完可以自动关闭窗口。

还可以新建一个快捷方式指向这个批处理文件,并把快捷方式设置为管理员权限运行:



如果你希望你的设置可以开机后自动运行,可以通过windows自带的任务计划程序设置登录帐号或者开机后自动执行这个批处理文件。当然,我个人更建议用Afterburner的自启动实现,那个更稳定些

好了,你已经精通(划掉)nvidia-smi了,接下来把显卡超5G吧[偷笑]

邮电路大呲花 发表于 2024-4-9 23:35

插眼先。

x2jhvq 发表于 2024-4-9 23:40

mark一下,周末学习尝试一下,调教一下矿渣3080ti

equaliser 发表于 2024-4-9 23:51

还是没法限制电压吗
和小飞机比好像就限制显存频率有用一点

让我静一会 发表于 2024-4-9 23:57

马克一下

PPXG 发表于 2024-4-9 23:59

equaliser 发表于 2024-4-9 23:51
还是没法限制电压吗
和小飞机比好像就限制显存频率有用一点

也许确实有直接操作电压的命令,但是我不知道,这个只能通过限制频率变相实现电压的控制

Evalyn 发表于 2024-4-10 00:19

歪瑞古德,笔记本显存功耗吃掉1/4 tgp有救了

yubeii 发表于 2024-4-10 00:20

战术插眼

欧洲阳光 发表于 2024-4-10 08:43

不错啊,小飞机功能过于强大,而且还得多挂个后台,还是这种上古操作适合我[傻笑]

panlian8088 发表于 2024-4-10 08:46

好专业

6ting 发表于 2024-4-10 09:16

不错的方法和教程,mark一下

uncle@MH 发表于 2024-4-10 09:19

愤怒马克,感谢

TeaSky 发表于 2024-4-10 09:22

马克,说不定以后用到。

dange66 发表于 2024-4-10 09:32

这个命令行设置重启就没了吗,那些能持久化修改功耗上限和核心/显存频率是怎么实现的[震惊]

PPXG 发表于 2024-4-10 09:35

dange66 发表于 2024-4-10 09:32
这个命令行设置重启就没了吗,那些能持久化修改功耗上限和核心/显存频率是怎么实现的 ...

直接修改vbios从根本上解决问题,或者小飞机设置好存档并开机自启

dange66 发表于 2024-4-10 09:38

PPXG 发表于 2024-4-10 09:35
直接修改vbios从根本上解决问题,或者小飞机设置好存档并开机自启

vbios是只有nvflash一种途径刷吧,我在用的影驰xtreme tuner估计也是修改bios这种方式,可惜没有开放这方面的api

老板来杯冰可乐 发表于 2024-4-10 09:57

插眼zsbd

4320221 发表于 2024-4-10 10:08

限制显存降功耗

aibo 发表于 2024-4-10 10:17

对于30系,限制显存频率将功耗可是太有用了

yawfsm 发表于 2024-4-10 14:51

太好了,一直想限制一下3080的功耗,这下简单了

javascripet 发表于 2024-4-10 15:28

PPXG 发表于 2024-4-10 15:36

javascripet 发表于 2024-4-10 15:28
4050笔记本不能用, 有啥别的限制功率的办法吗。。。

我找朋友测的时候他4050的鸡哥可以直接用自带的控制中心降功耗,你看看你的笔记本有没有这种控制,没有的话,那只能手动限制频率上限了

zhao1999250 发表于 2024-4-11 21:50

看国产显卡和计算卡也是各种smi。。。hh简直不要太熟悉

Illidan2004 发表于 2024-4-11 22:13

这个已经在服务器上用了

Monkly 发表于 2024-4-19 15:54

感谢!很有用

浮沉driver 发表于 2024-4-24 11:52

本帖最后由 浮沉driver 于 2024-4-24 11:55 编辑

网游党和吕布骑狗用户狂喜[傻笑]

silmeria 发表于 2024-5-16 14:53

想把频率限制在7000-7500左右好像不行,5000的频率对于满载游戏太低,9500又功耗高一截

PPXG 发表于 2024-5-16 14:54

silmeria 发表于 2024-5-16 14:53
想把频率限制在7000-7500左右好像不行,5000的频率对于满载游戏太低,9500又功耗高一截 ...

不支持这个档位就没办法了

fever3344 发表于 2024-5-16 15:47

我用小飞机3.6.6版本无法调整电压,玩不了降压,降低频率玩法。显卡太老了。追求静音

楼主的马甲 发表于 2024-5-16 16:53

重启恢复其实挺好的,免得很多麻烦
页: [1] 2
查看完整版本: 一些可能对你调节N卡性能、功耗有帮助的NVIDIA SMI命令简单介绍