All posts English version →

Windows 版「只限制 GPU 功耗上限、不降頻降壓」教學

NVIDIA 顯卡可以用 nvidia-smi -pl <瓦數> 這個指令,直接設定 GPU 的功耗上限(Power Limit),不需要動到電壓曲線或手動降頻——顯卡會在你設定的功耗天花板內自己決定要跑多高的頻率。這個做法在 Linux/伺服器圈的教學很常見,但 Windows 消費端幾乎找不到對應的整理,而且有個關鍵眉角:這個設定每次重開機都會被重置,不會自動記住。

nvidia-smi -pl 實際在做什麼?

直接設定顯卡的功耗上限(單位瓦),顯卡韌體會在這個天花板以內自行調整頻率和電壓去逼近上限,而不是你手動指定固定的頻率或電壓數值。這跟手動超頻/降頻的做法不同——你只管「總功耗別超過多少」,其餘交給顯卡韌體自己決定怎麼分配。

為什麼這在 Windows 上比較少人寫?

這個指令本身是跨平台的(Windows 版 NVIDIA 驅動也內建 nvidia-smi.exe),但相關教學幾乎都是針對 Linux/systemd 場景寫的(例如開機時用 systemd service 自動套用),Windows 消費端要怎麼「開機自動套用、不用每次手動打指令」反而很少人整理。這其實是一個內容和工具都稀缺的空白區塊。

為什麼設定完,重開機後又變回預設值?

nvidia-smi -pl 設定的是驅動程式的執行期狀態,不是永久寫入顯卡韌體的設定,Windows 重開機、顯卡驅動重新初始化後就會回到出廠預設功耗上限。這不是 bug,是這個機制本來的行為——在 Linux 上常見的做法是寫一個開機時自動執行的服務去重新套用,Windows 上如果只是手動打一次指令,一樣的狀況也會發生。

功耗上限像是幫顯卡設一個「電費上限」,顯卡自己決定要怎麼花這筆預算跑得最快,而不是你直接規定它要用幾伏特、跑幾赫茲。差別是這筆「預算設定」在 Windows 重開機後會被重新歸零,得有東西在開機時再設一次。

PowerDoze 在這件事上實際怎麼運作?

PowerDoze 的電源模式裡可以設定 GPU 功耗上限(透過 nvidia-smi -pl 執行),套用模式時會自動執行這個指令,也可以設定開機自動套用目前的模式,等於幫你補上「開機重新設定」這一步,不用自己手動打指令或另外寫開機腳本。

有沒有數值範圍限制?只支援 NVIDIA 顯卡嗎?

介面上的滑桿範圍是 15~300W,只支援 NVIDIA 顯卡(透過偵測系統是否有 nvidia-smi 決定要不要顯示這個設定),AMD/Intel 顯卡目前不支援這個功能。沒有偵測到 nvidia-smi 時,這個設定項目在介面上不會出現。

常見問題

限制 GPU 功耗上限,是不是就是降頻降壓?

不是。功耗上限只規定總耗電天花板,顯卡韌體自己決定怎麼分配電壓和頻率去逼近這個上限,不是你手動指定固定頻率或電壓。

為什麼我設定完 nvidia-smi -pl,過幾天發現又變回原本的功耗?

因為這個設定是執行期狀態,不是永久設定,每次重開機/驅動重新初始化都會恢復預設值。需要有東西在每次開機時重新套用一次。

這個功能在 PowerDoze 是 Pro 限定嗎?

不是,GPU 功耗上限是 Free 版就有的核心電源控制項,跟 CPU 頻率上限、風扇策略等放在同一類,沒有分版限制。

AMD 或 Intel 顯卡可以用這個功能嗎?

目前不行,這個功能只支援偵測到 nvidia-smi 的 NVIDIA 顯卡環境。

誠實邊界

這個功能背後就是呼叫 nvidia-smi -pl 這個 NVIDIA 官方工具,PowerDoze 沒有另外做更底層的顯卡控制,價值在於幫你把「套用+開機重新套用」這個原本要自己手動做或寫腳本的流程整合進電源模式裡,一次設定、之後不用再想起來要重打指令。

想幫顯卡設功耗上限,又不想每次開機都要手動打指令?PowerDoze 把 GPU 功耗上限做進電源模式,切換模式自動套用,開機也能自動套用目前設定。

免費下載 PowerDoze →

Nisonxi

我是 Nisonxi,PowerDoze 的開發者。我會做這個工具,是因為自己的 Windows 桌機整天閒置卻幾乎滿功率運轉,市面上找不到能自動判斷情況並切換的工具。這個部落格是這段過程的筆記。

關於作者與 PowerDoze →