スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
総合案内当ブログについて
Windowsの目次Linuxの目次Linuxの目次2・ ・自作PC関連の目次Web技術関連の目次
全記事一覧情報サイト新着RSS一覧

Sponsored Link

暑い!そこでUndervolting!!PHC on Ubuntu(番外Intel編)

暑いっすねー。CPU熱くなってる方、多いんじゃないっすかね?
いや、Intel機はうちにはないので紹介のみです。すんません。検証できてないとこは多いっす。すんません。
いつも言ってるけど、意味が分からない人は分かってからやってくださいね。低電圧化はCPUを壊す危険がありますよ!!
失敗して起動しなくなっても俺は責任取れないっすよ。自己責任でお願いいたします。

Undervolting in Ubuntu10.04(Lucid)LTS
これはCPUの低電圧化。Linuxで動くもの。WindowsでいうCrystalCPUIDみたいなもので。
ちなみにAMD( AMD X2 processors、 AMD Turion64 processors、 AMD Turion X2 processors, except newer RM-* and ZM-* processors)の方はAthlon64x2でうちで運用してますのでこちらをご参考にしていただければ幸い。
サーバ機のUbuntu10.04低電圧化(Athlon64x2)
ええい!!PhenomII対応はまだなのか!!まだなのか・・・OTL。

PHCのフォーラムもあるのでこちらもご参考に。Linux PHC
さて、Intelの場合はと。基本的に手順は変わらない様ですが。
まずはPHCのリポジトリ追加してカスタムカーネルを導入します。

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


再起動して確認。

$ uname -r
2.6.32-21-generic-phc


もしここでphcカーネルじゃなかったら、Grub2をちといじります。
これはうちのServer機の状態だけど。

$ sudo update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.32-23-generic-pae-phc
Found initrd image: /boot/initrd.img-2.6.32-23-generic-pae-phc
Found linux image: /boot/vmlinuz-2.6.32-23-generic-pae
Found initrd image: /boot/initrd.img-2.6.32-23-generic-pae
Found linux image: /boot/vmlinuz-2.6.32-22-generic-pae-phc
Found initrd image: /boot/initrd.img-2.6.32-22-generic-pae-phc
Found linux image: /boot/vmlinuz-2.6.32-22-generic-pae
Found initrd image: /boot/initrd.img-2.6.32-22-generic-pae
Found linux image: /boot/vmlinuz-2.6.32-21-generic-pae
Found initrd image: /boot/initrd.img-2.6.32-21-generic-pae
Found memtest86+ image: /boot/memtest86+.bin
done


これで普通は拾ってくれるはず。一番上から0,1,2,3,4になります。
で、PHCカーネルをデフォルトの起動カーネルにするには(普通はインストールだけでデフォルトになってるはずだけど。)Grubの設定ファイルをいじります。

$ sudo gedit /etc/default/grub
GRUB_DEFAULT=0 ←ここをphcカーネルの番号に。
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10


これでファイル保存してもういっかい$ sudo update-grub
再起動してデフォルトの選択されるカーネルがPHCカーネルになってればおk。

さて、それではPHC対応カーネルが入ったところでPHCモジュールを入れます。
PHCフォーラムのReleasesから。
上のリンク先ではphc-intel-0.3.2-10 offtreeを使ってますね。
For Kernel version 2.6.32 and below
phc-intel-0.3.2-10 offtree
のとこの phc-intel-0.3.2-10.tar.bz2をDL。
書いてあるとおり、これ、2.6.32用なので、Ubuntu以外、もしくは新カーネルとか旧カーネル使ってる方は自分のカーネルのVer.に合ったのDLしてくださいね。
DLしたファイルを展開。
この展開したフォルダに端末で移動します。
/home直下ならば $ cd phc-intel-0.3.2-10
さて、いよいよインストール。READ MEの3 - Build your Moduleに書いてあるとおりに。

$ make prepare
$ make
$ sudo make install


さて、ここで再起動が必要かも。で、ちゃんと動いてるか確認。

$ cat /sys/devices/system/cpu/cpu0/cpufreq/phc_default_vids
40 34 31 27 23 15


これが出てれば大丈夫。で、この数字の部分が電圧のコントロール部分ね。ここを書き換えることで低電圧化を試みるというものです。
ちなみに失敗してると

$ cat /sys/devices/system/cpu/cpu0/cpufreq/phc_default_vids
cat: /sys/devices/system/cpu/cpu0/cpufreq/phc_default_vids: No such file or directory


そんなファイルねぇんだけど?って怒られます。このときは手順確認してみてください。あと、CPUが残念ながらPHCに対応してない時もこれが出ます。まぁ、ざっと見たところIntelのはほとんど大丈夫みたいだけど。
READ ME見てもいまいち使い方が分からなかったんだけど(AMD用のはREAD MEに電圧、クロックの制御方法が書いてあったんだが。

Ok great now how to find the actual critical limit? There exists a script, created by the community, but it's old and it does not work for multi core CPU's and also in my particular case it sets the voltage directly below this critical limit so the PC crashes instantly.

I updated this script and made it work on multi core CPU's (hopefully it will work for you too), so you just have to download the script, then give it execution permissions and execute it and follow on-screen indications:


おっとこれは・・・この方、電圧探るスクリプトを書いてくれてるらしい。
http://openmindedbrain.info/wp-content/uploads/2010/05/intel-phc-undervolt.bash
これをDLして実行。

$ chmod +x intel-phc-undervolt.bash
$ ./intel-phc-undervolt.bash


一応Server機(Athlon64x2)で使ってみたけどやっぱエラー。うちでは確認できない・・・

~$ ./intel-phc-undervolt.bash


This script will optimize your voltages at every speed setting
by systematically lowering them while stressing the CPU.
Each voltage will be turned down until your system crashes, and the final
setting for that voltage will be 4 VIDs above that to "ensure" stability.

WARNING:
This script will crash your system as many times as there are VIDs to tweak.
You might destroy your hardware, break laws and/or die in vain if you continue.

Do you want to continue? [Y/n/?] Yes
>Found 2 CPU cores.
Multiple cores found, the script will use the
same voltages for all cores, this means final
setting will be 4 VIDs above the weakest core.

Install required packages.
Will use burnMMX (part of cpuburn package) to stress CPU.
Install: cpuburn
Do you want to continue? [Y/n/?] Yes
(ここでcpuburn(CPUの負荷テストのパッケージインストール)
Screenshot-tmin@tmin-server: ~ま、この手のソフトはこういう警告出るわな。)

Read default VIDs.
> Success!
Reset position to 0.
Read available frequencies.
> ERROR: Number of frequencies (4) and VIDs (6) do not match!


ちなみに数字の意味、AMD版はこんな感じ。

AMD X2 processor:
vid = 16 => voltage = 1550 - 25 * 16 = 1150mV
Vid = 24 => voltage = 1550 - 25 * 24 = 950mV
Turion 64 processor:
vid = 4 => voltage = 1450 - 25 * 4 = 1350mV
Vid = 22 => voltage = 1450 - 25 * 22 = 900mV


1550mvを基準に25*設定した数字分引いたのが設定電圧になるようになってる。
ので、$ echo '17:12 12:16 8:24 2:28'>/sys/devices/system/cpu/cpu0/cpufreq/phc_controls
これで 2.5Ghz1,25v 2.0Ghz1,15v 1,6Ghz0,95v 1,0Ghz0,85v で動くようになってるんだよね。

で、上のスクリプト、うまく行くと"phc_tweaked_vids" file, っていういい感じのCPUステップを出力してくれたファイルができるとのこと。なのでこれを参考に設定するといいんじゃないかな?
で、どうやらこの方は8コアのを使ってらっしゃるようで。

1 echo "23 20 4 4 4 4" > /sys/devices/system/cpu/cpu0/cpufreq/phc_vids
2 echo "23 20 4 4 4 4" > /sys/devices/system/cpu/cpu1/cpufreq/phc_vids
3 .
4 .
5 .
6 echo "23 20 4 4 4 4" > /sys/devices/system/cpu/cpu8/cpufreq/phc_vids


これで低電圧化を図っているようです。
ここでは起動時に読み込むように、rc.localを書き換えてる。
$ sudo gedit /etc/rc.local
してexit 0のすぐ上に上の記述を書き加える。これで起動時に自動で読み込んでくれて、手間がかからないんだけど・・・ぶっちゃけこれはおすすめできないなぁ。
まぁ、デフォルトカーネル(PHCじゃないの)できどうすればいいんだけど、起動時自動読み込みって失敗すると起動できなくなっちゃうもんね。個人的には起動後に自分で設定走らせるのをオススメします。(K10STATとかと一緒だね。)
で、上の記事では38.4W→ 28.7W 59°C →52°Cとなって、効果は結構あるよ!!

PHCフォーラムみてると、Intelの場合はデフォルトの最低電圧以下に設定できない、つまり、最低クロック時にはそれ以上低電圧化できないとかいうようなこともいくつか見かけたので、他のステップで定電圧化して、ちょっとクロック上がったときに発熱を抑えるってことになるのかな?

PHC Wikiによると対応CPUは

・ Pentium M (Centrino Based) with limitations

Some combinations of System Board/Bios in combination with a Centrino CPU may not work with acpi-cpufreq based PHC modules. The “old” speedstep-centrino patches should work but are not maintained as well as the new acpi-cpufreq based PHC modules.
・ Intel Core
・ Intel Core2
T-Series
P-Series


とのこと。
PHC Forumにはいろんな方の報告なんかも上がってるので、設定前には参考にされるといいかと思いますよ!

関連記事
UbuntuでC'nQ電圧制御 今度こそ成功!!
UbuntuでC'nQ電圧制御 今度こそ成功!!の続き(カーネルコンパイルし直し+設定)
powernowdの設定変更 on Ubuntu9.04
もっと省電力&サクサクにしたいー!!PHCとPowernowdの設定について
LinuxでPhenomのPStateを読み出すhw_pstate_ctrl.py
サーバ機のUbuntu10.04低電圧化(Athlon64x2)
k10railgunでLinuxでもPhenomII低電圧化
LinuxでCPU低電圧化の大本命!PHCがいよいよPhenomIIにも対応し始めた様子
Debian squeeze にPHC導入してAthlon64x2 低電圧化
完全に素のDebian(Squeeze)でPowernowdのCPUステップとPHCを動くようにする
k10ctlを使ってLinux上でPhenomⅡの低電圧化を試みる
Linux PHC使ってDell Studio 1737の低電圧化(LMDE)
関連記事
総合案内当ブログについて
Windowsの目次Linuxの目次Linuxの目次2・ ・自作PC関連の目次Web技術関連の目次
全記事一覧情報サイト新着RSS一覧

Sponsored Link

821:k10railgun
>ええい!!PhenomII対応はまだなのか!!まだなのか・・・OTL。

Phenom,PhenomII,AthlonII用だとk10railgunがいけますよ。
http://xblog.hellokitty68.main.jp/?eid=1016879
ご参考まで。
823:No title
おっとこれは・・・!?非常にありがたいです><;
ちょっと試してみよう。情報ありがとうございます!!

コメントの投稿

管理者にだけ表示を許可する

[x100e][Ubuntu]Linux PHCでCPU低電圧化

(以下の内容はPCを破損させる可能性のある云々以下略)。 先日のまとめエントリで指摘したとおり、Thinkpad x100eの一番大きな欠点の一つが、AMD Athlon Neo MV-40の発熱の大きさです。黙って使っているとキーボードは熱くなるわ、排気は火傷しそうに熱いわ、電池はあっと
ブログ内検索

カスタム検索

フリーエリア

クリックで救える命がある。

レンタルサーバー

さくらのマネージドサーバ
さくらインターネットのVPS
ConoHaのVPS
WebARENA VPSクラウド
99円レンタルサーバー
【CloudCore VPS】
GMOクラウドのレンタルサーバー
転送量無制限 ABLENET
@WAPPYレンタルサーバー
SPPDレンタルサーバー

カテゴリー+月別アーカイブ

 

アクセスカウンター

現在の閲覧者数:

プロフィール

Author:tmin
PCヲタ。ライト2ちゃんねら。
スロット好きのギャンブラー。(元
むしろ人生がギャンブルだが目下のところ負けっぱなし。
座右の銘は「結果オーライ」。故に基本適当。
トラブルもまた楽しみのひとつ

コメント、トラバ、相互リンク歓迎。お気軽にどうぞ。
当ブログについて
Twitterでこっちとあっちの更新情報流すことにしてみます。
http://twitter.com/t_min
Project Mikunchu♪Wikiできました。
Mikunchu200x40.png


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。