本文へ移動
vast-cowのブログ
前のページへ戻る

NVIDIA GPUのコアクロック・メモリクロックを制限する方法

この記事を編集

Linux:nvidia-smiで制限する

対応GPUなら、コアクロックとメモリクロックの範囲を直接指定できます。root権限が必要です。GPUクロックのロックはVolta世代以降でサポートされていますが、製品・ドライバによっては Not Supported になります。(NVIDIA Docs)

1. GPUと対応クロックを確認

nvidia-smi -L
sudo nvidia-smi -q -d SUPPORTED_CLOCKS
sudo nvidia-smi -lmi

2. コアクロックを制限

GPU 0を、最低300MHz~最大1500MHzに制限する例です。

sudo nvidia-smi -i 0 --lock-gpu-clocks=300,1500

1500MHzに固定する場合:

sudo nvidia-smi -i 0 --lock-gpu-clocks=1500

単一値を指定すると固定動作になるため、アイドル時もクロックが下がりにくくなります。通常は 最低値,最大値 の範囲指定が適しています。(NVIDIA Docs)

3. メモリクロックを制限

最低810MHz~最大5000MHzの例:

sudo nvidia-smi -i 0 --lock-memory-clocks=810,5000

5000MHz固定:

sudo nvidia-smi -i 0 --lock-memory-clocks=5000

メモリクロック制御はGPUによって非対応です。また、Hopper系GPUでは通常の --lock-memory-clocks ではなく、遅延適用方式が必要です。(NVIDIA Docs)

4. 状態を監視

watch -n 1 'nvidia-smi --query-gpu=index,name,clocks.gr,clocks.mem,power.draw,temperature.gpu --format=csv'

5. 元に戻す

sudo nvidia-smi -i 0 --reset-gpu-clocks
sudo nvidia-smi -i 0 --reset-memory-clocks

クロック制御が非対応の場合

消費電力を下げることで、間接的にブーストクロックを制限できます。

nvidia-smi -q -d POWER
sudo nvidia-smi -i 0 --power-limit=150

指定値は表示される Min Power Limit~Max Power Limit の範囲内にする必要があります。(NVIDIA Docs)


この記事を編集
この記事を共有:

コメント


前の記事
システムレスキュー用途で使えるLinux ISOを比較してみた
次の記事
SquashFS化されたLive Linuxの改造手順