試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

nvclockでNVIDIAのGPUをクロックダウン

nvclockは、NVIDIA社のGPUのクロック周波数を調整できる。オーバークロックもできるのだが、クロックダウンして消費電力や発熱を抑えるのに効果的。3Dの処理をしているときに違いがはっきりと出る。また、クロック以外にも、ファン速度を変更したり、温度を取得したりもできる。

GUIでも設定ができるのだが、CLI版もあり、起動時に自動的にクロックを設定したりするのに使える。

$ nvclock -n 150 -m 150

を実行すると、GPUとメモリのクロックを150MHzにする。GUI版で指定できない範囲まで下げることができるのも便利。もちろん、下げすぎると遅くなるので、ちょうどよい値を探す必要がある。
手元のGeForce 7300LEでは、TurboCacheのせいか、メモリクロックは変更できないので、GPUのみクロックダウンさせている。
休止状態に入ると、復帰時に定格に戻るため、復帰後に実行させる必要がある。下は休止状態に入るhibernate-scriptの簡単なラッパースクリプトの例。hibernateの後ろに書いておくと、復帰後に実行される。

#! /bin/sh

if [ "$1" != "-f" ]; then
  zenity --question --title="休止状態の確認" --text "休止させますか?"
  if [ $? = 1 ]; then
    exit 1
  fi
fi

sudo /usr/sbin/hibernate # visudoでNOPASSWD指定しておく

nvclock -n 150 # 定格に戻るのでクロック変更し直す