找回密码
 加入我们
搜索
      
查看: 5297|回复: 25

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

[复制链接]
发表于 2024-4-9 23:33 | 显示全部楼层 |阅读模式
本帖最后由 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一档。
clk.jpg
注:本帖所有的核心频率均为等效频率,与Afterburner里显示的显存频率一致,显存实际工作频率请参考GPU-Z的监控栏。

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

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策略会把核心频率拉得很高),可以明显降低风扇噪音和显卡发热。
这个指令对于同架构的笔记本显卡这个也是生效的,在无法调节显卡功耗上限的情况下,可以通过适当降低频率上限(电压上限也跟着降低了)变相降低显卡功耗,减少笔电散热噪音。
lgc.jpg
4090不限制核心频率跑在2850MHz@1.05V对比限制核心频率上限2475MHz@0.875V,功耗降低30%帧数不变,风扇全程维持最低转速,非常安静
before.jpg
after.jpg
小飞机拉平曲线效果类似,会限制核心不超过一个频点,当然这个比小飞机拉曲线灵活性更高些:
vf.jpg


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

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

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

补充: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 系列)架构的显卡,可以用如下命令设置运行时显存和核心频率,但是我之前测试时似乎不太好使,负载大了会定不住继续向上提升频率
1000089094.png

如果你希望自己的设置可以一键运行,可以新建一个记事本文档,写入你的命令并更改后缀名为bat,使用管理员权限运行,记得在第一行加入“@echo off”,运行完可以自动关闭窗口。
bat.jpg
还可以新建一个快捷方式指向这个批处理文件,并把快捷方式设置为管理员权限运行:
lnk.jpg


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

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

评分

参与人数 2邪恶指数 +30 收起 理由
某人的马甲 + 20 666
skanlife + 10

查看全部评分

发表于 2024-4-9 23:35 | 显示全部楼层
插眼先。
发表于 2024-4-9 23:40 | 显示全部楼层
mark一下,周末学习尝试一下,调教一下矿渣3080ti
发表于 2024-4-9 23:51 | 显示全部楼层
还是没法限制电压吗
和小飞机比好像就限制显存频率有用一点
发表于 2024-4-9 23:57 | 显示全部楼层
马克一下
 楼主| 发表于 2024-4-9 23:59 | 显示全部楼层
equaliser 发表于 2024-4-9 23:51
还是没法限制电压吗
和小飞机比好像就限制显存频率有用一点

也许确实有直接操作电压的命令,但是我不知道,这个只能通过限制频率变相实现电压的控制
发表于 2024-4-10 00:19 来自手机 | 显示全部楼层
歪瑞古德,笔记本显存功耗吃掉1/4 tgp有救了
发表于 2024-4-10 00:20 | 显示全部楼层
战术插眼
发表于 2024-4-10 08:43 来自手机 | 显示全部楼层
不错啊,小飞机功能过于强大,而且还得多挂个后台,还是这种上古操作适合我
发表于 2024-4-10 08:46 | 显示全部楼层
好专业
发表于 2024-4-10 09:16 | 显示全部楼层
不错的方法和教程,mark一下
发表于 2024-4-10 09:19 | 显示全部楼层
愤怒马克,感谢
发表于 2024-4-10 09:22 | 显示全部楼层
马克,说不定以后用到。

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

直接修改vbios从根本上解决问题,或者小飞机设置好存档并开机自启
发表于 2024-4-10 09:38 来自手机 | 显示全部楼层
PPXG 发表于 2024-4-10 09:35
直接修改vbios从根本上解决问题,或者小飞机设置好存档并开机自启

vbios是只有nvflash一种途径刷吧,我在用的影驰xtreme tuner估计也是修改bios这种方式,可惜没有开放这方面的api
发表于 2024-4-10 09:57 | 显示全部楼层
插眼zsbd
发表于 2024-4-10 10:08 | 显示全部楼层
限制显存降功耗
发表于 2024-4-10 10:17 | 显示全部楼层
对于30系,限制显存频率将功耗可是太有用了
发表于 2024-4-10 14:51 | 显示全部楼层
太好了,一直想限制一下3080的功耗,这下简单了
发表于 2024-4-10 15:28 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2024-4-10 15:36 来自手机 | 显示全部楼层
javascripet 发表于 2024-4-10 15:28
4050笔记本不能用, 有啥别的限制功率的办法吗。。。

我找朋友测的时候他4050的鸡哥可以直接用自带的控制中心降功耗,你看看你的笔记本有没有这种控制,没有的话,那只能手动限制频率上限了
发表于 2024-4-11 21:50 | 显示全部楼层
看国产显卡和计算卡也是各种smi。。。hh简直不要太熟悉
发表于 2024-4-11 22:13 | 显示全部楼层
这个已经在服务器上用了
发表于 2024-4-19 15:54 | 显示全部楼层
感谢!很有用
发表于 2024-4-24 11:52 | 显示全部楼层
本帖最后由 浮沉driver 于 2024-4-24 11:55 编辑

网游党和吕布骑狗用户狂喜
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2024-5-15 20:02 , Processed in 0.016213 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

快速回复 返回顶部 返回列表