トップ «前の日記(2011-12-24) 最新 次の日記(2012-01-01)»

たいぷらいたーざっき。

2010|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|09|

2011-12-30 Linux-PHC: CPUのコア電圧を下げて、ひえひえに。 (旧世代PC向け)

_ [Linux] Linux-PHC: CPUのコア電圧を下げて、ひえひえに。

以下の記述は、 Intel Pentium M / Core (Solo/Duo) / Core 2 (Solo/Duo/Quad) あたりの世代に適用可能なものです。それより新しいCPUには適用出来ません。


CPUは安定して動作するようにいくらか余裕が設けられています。その余裕を利用して性能を上げようとするのがオーバークロックですが、逆にその余裕を利用して性能をそのままに電圧を下げることも出来ます。

消費電力は電圧の2乗と周波数に比例すると言われている[1]ので、周波数を下げるよりも電圧を下げるほうが省電力になります。

電圧を下げる → CPUの発熱が減る → 熱暴走(によるクロックダウン)やCPUファンの回転が減る → いいね!(+1)

というわけです。


じゃあ電圧をどうやって下げるんだという話ですが、Windowsだと CrystalCPUIDのMultiple Management機能やRightMark CPU Clock Utility (RMClock)あたりが有名です。

Linuxはというと、Linux-PHCというものがあります。Xubuntu 10.04からUbuntu 11.10にしてからうまく動作しなかったので放っておいたのですが、改めてやってみたところうまくいきました。というわけで以下に導入方法など。


導入した環境

  • HP nx4820/CT
    • Pentium M 740 (Dothanコア, 1.73GHz)
    • Ubuntu 11.10 (Oneiric) 32ビット版(x86)

導入方法

PPA for linux-phc : “linux-phc” teamにアクセスし、説明に沿ってリポジトリと公開鍵を追加したうえで、 linux-generic-phc パッケージをインストールします。

$ sudo add-apt-repository ppa:linux-phc/ppa
$ sudo apt-get update
$ sudo apt-get install linux-generic-phc

Ubuntuを再起動し、GRUBメニューでphcカーネルを選択して起動します。

端末でuname -aしてphcカーネルになっているかを確認します。

$ uname -a
Linux MACHINENAME 3.0.0-14-generic-phc #23~phc1-Ubuntu SMP Mon Dec 12 10:45:20 UTC 2011 i686 i686 i386 GNU/Linux

phc_interface_description [PHCwiki]を参考に、以下のようにコマンドを入力します。ページにあるような出力になっていれば導入完了ですが、私の環境では以下の通りでした。。

$ ls -Al /sys/devices/system/cpu/cpu0/cpufreq/phc* 
ls: /sys/devices/system/cpu/cpu0/cpufreq/phc* にアクセスできません: そのようなファイルやディレクトリはありません

導入方法 延長戦

Linux-PHCのDiscussionsフォーラムを見ていると、linux-PHC • View topic - phc-intel 0.3.2 and 0.4.0 + dkms for kernel 2.6.27 to 3.1というトピックがあります。そこで phc-intel-pack-rev3.tar.bz2 が配布されているので、これをダウンロード・解凍します。

~/Downloads$ tar xvf phc-intel-pack-rev3.tar.bz2
 (省略)
~/Downloads$ cd phc-intel-pack-rev3/
~/Downloads/phc-intel-pack-rev3$ 

README.1stファイルがあるのできちんと目を通します。カーネルヘッダが必要ぽいのでインストールしてからコンパイル&インストールします。

~/Downloads/phc-intel-pack-rev3$ sudo apt-get install linux-headers-generic-phc
~/Downloads/phc-intel-pack-rev3$ make
~/Downloads/phc-intel-pack-rev3$ sudo make install

そして再起動すると、無事に出てくるようになりました。

$ ls -Al /sys/devices/system/cpu/cpu0/cpufreq/phc* 
-rw-r--r-- 1 root root 4096 2011-12-30 13:56 /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
-r--r--r-- 1 root root 4096 2011-12-30 13:49 /sys/devices/system/cpu/cpu0/cpufreq/phc_default_controls
-r--r--r-- 1 root root 4096 2011-12-30 13:57 /sys/devices/system/cpu/cpu0/cpufreq/phc_default_vids
-r--r--r-- 1 root root 4096 2011-12-30 13:57 /sys/devices/system/cpu/cpu0/cpufreq/phc_fids
-r--r--r-- 1 root root 4096 2011-12-30 13:57 /sys/devices/system/cpu/cpu0/cpufreq/phc_version
-rw-r--r-- 1 root root 4096 2011-12-30 13:57 /sys/devices/system/cpu/cpu0/cpufreq/phc_vids

使用方法

以下の参考サイト参照。

「倍率が6倍のとき電圧は0.7V、13倍のとき1.2V」みたいな感じで設定していくのですが、電圧はVID(Voltage ID)という数値で対応付けられているので、厳密には「6倍のときにはVID: 0、13倍のときにはVID: 40」みたいなことになります。めんどいのでやっぱり参考サイト参照。

参考

本日のリンク元

トップ «前の日記(2011-12-24) 最新 次の日記(2012-01-01)»

operated by Kindai ECL

operated by Kindai ECL