2015年04月14日

Linuxメモ:Intel CPUでTurboBoostのON/OFFを設定する

Author:試作D型
-----

題記の通りのメモなので、乱文乱筆お許しあれ。

※15/04/16 起動時に自動的にTurboBoostをOFFにする方法を追記。


・Linuxインストール時、デフォルトの状態ではTurboBoost機能は有効になっていることが判明したが、ノートPCのBIOSからでは該当機能のON/OFFができないため、OS上から設定を何とかして変更したいという事になった。

 確認方法としては、i7z-GUI上でクロックを確認しつつ、top -d 0.0001を2プロセスほど走らせるとTurboBoostが有効になるので、一番手っ取り早い。
 
 ※通常のcpuinfoで取得できる情報($ cat /proc/cpuinfo)からでは、TurboBoostがかかっているかどうかは判断できないので注意。

 
 対策としては、msr-toolsをインストールして、手動でTurboBoostをOFFにする。

 参照リンク:My Tech Notes : A script to disable and enable intel cpu turbo boost on Linux



 具体的には、

 $ sudo apt-get install msr-tools


 でmsr-toolsをインストールしてから、

 $ sudo wrmsr -pi 0x1a0 0x4000850089
 (-piのiはコアナンバー。自分のノートPCの場合、-p0〜-p3まで4回コマンドを発行する)

 を実行してやることで、TurboBoost機能をOFFにすることができる。
 
 TurboBoostを再びONにする場合は、以下のコマンドを実行。
 
 $ sudo wrmsr -pi 0x1a0 0x850089
 (-piのiはコアナンバー。自分のノートPCの場合、-p0〜-p3まで4回コマンドを発行する)

 共通コマンド:コアナンバーの確認

 $ cat /proc/cpuinfo | grep processor


※なお、PCを再起動すると設定が元に戻ってしまうため、毎起動ごとにコマンドを実行するか、参考リンクのようにスクリプトを書いておいたほうが良い。
 自分の場合も設定用スクリプトをhomeに置いて、起動時に実行するようにした。


現在使用しているメインマシンも、Intel CPU(Xeon E3-1231 v3)なので、Linux環境に移行した際にはお世話になるはずだ。
 (まぁ、デスクトップPCならば、BIOS設定でTurboBoost機能を無効にすれば済む話ではあるのだが…)

ちなみに、TurboBoost ON/OFF時における "top -d 0.0001" コマンド3プロセス発行の消費電力及び温度は以下の通り。

 ・ON: 32-33W 最大温度75℃
 ・OFF: 23-24W 最大温度61℃


Windows側とほぼ同じ消費電力及び温度差が出るため、自分の環境下ではOFFにしていたほうが望ましい。


15/04/16 追記部分

・ログイン時に自動的にTurboBoostをOFFにする方法
/etc/rc.localに以下の1行を追加。

 echo 0 > /sys/devices/system/cpu/cpufreq/boost
 (編集にはスーパーユーザ権限が必要)

編集後、再起動もしくはログアウト/ログインで自動的にTurboBoostがOFFになる。

TurboBoostを再度ONにする場合は、

 $sudo su
 #echo 1 > /sys/devices/system/cpu/cpufreq/boost

と、一度スーパーユーザになってからコマンドを発行すれば良い。
(sudoコマンドを直接かませると、うまく行かないので注意)

…こっちのほうがスマートにコマンドを発行できるなぁ。調査してくれたE型に感謝!
posted by ダイ&エイ at 17:44 | Comment(0) | TrackBack(0) | コンピュータ:ソフトウェア | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]


この記事へのトラックバック