スポンサーサイト

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

Sponsored Link

LinuxでCPU低電圧化の大本命!PHCがいよいよPhenomIIにも対応し始めた様子

過去何度もお世話になり、未だAthlon64x2+M2A-VMのサーバー機では大活躍中のLinux上でのCPUのクロックと電圧制御ツール、PHCがようやくPhenomII、K10 世代にも対応し始めたようです。
とはいえ、未だα2。で、CPUのクロックステップは未実装。つまり電圧の設定のみ。
LinuxでPhenomのPStateを読み出すhw_pstate_ctrl.py
サーバ機のUbuntu10.04低電圧化(Athlon64x2)
暑い!そこでUndervolting!!PHC on Ubuntu(番外Intel編)

これ、まぁ簡単に言えばWindowsでのCrystalCPUID、K10STATと同じことを実現するものなんだけど。
TA790GX交換完了したしとりあえずのK10Statとか
MA78GPM-UD2Hに換装してメイン機復活ととりあえずのK10Statと

で、さらに言うと、ちょっと前に紹介していただいたK10RailgunってのでK10世代のクロック、電圧設定が可能で、実際今のとこ、こちらのほうが高機能で安定しててしかも分かりやすい。
k10railgunでLinuxでもPhenomII低電圧化

PHCフォーラムのtest Releasesに上がっているphc-k8 driver 0.4.4 alpha 2が今回使用するもの。

This driver is my first version of a phc-k8 driver with some support for family 10h and 11h processors. At the moment there's only read/write access to phc_vids, but that should enable basic undervolting. Settings aren't preserved after suspend/hibernate, but that isn't supported either on the other phc targets.

If you have a X6 processor supporting Turbo Core, please contact me! The driver may or may not work in that case, either way I would like to collect some data regarding the pstate registers with both Turbo disabled and enabled.


はい。今のところ電圧コントロールのみ、で、X6に関してはTurbo Core切っといてね、的な注意書きがございます。

ま、とりあえずUndervolting your CPU on Debianと付属のREAD ME読みながら導入だけ行ってみようかと。
実行環境はPhenomIIx3 720BE GAMA78-GPM
OSはDebian(sid) Kernel2.6.32-5-amd64
上のリンク先を読むと、どうやらDebianのカーネルには必要なモジュールはすでに入っているらしい。
よってPHCをモジュールとして組み込めばOK。(UbuntuではPPAのphcカーネル使うのが良いかと

READ MEのとおり、dkmsでインストール。
1.a DKMS installation:
----------------------
"DKMS" installation is the easiest way of installing. All you'll have to do is:
o Install "dkms" for your Linux distribution.
o Run "make dkms_install" as root:
sudo make dkms_install
マニュアルでmakeinstallすることもできるけど、アンインストール考えるとdkmsの方が多分楽。

展開したphc-k8_v0.4.4a2ディレクトリに移動して、suして# make dkms_install
ココは問題なく通った。
で、デフォルトでこれを有効にするにはちとファイルをいじらねばならない。
You may want to edit /etc/modprobe.d/phc-k8 to let the driver use direct_transitions (explained in "Usage").
これだ。
# gedit /etc/modprobe.d/phc-k8.conf
最初の3行

# To use the direct_transitions functionality of the phc-k8 driver,
# uncomment the next line:
options phc-k8 direct_transitions=1


3行目はデフォルトで#が入ってアンコメントされているので、#を削って保存。(実は一回忘れたなどw

そして再起動。
インストールに成功していれば、/sys/devices/system/cpu/cpu0/cpufreq/以下(CPU0のとこの数字は変わるかも?)にphc_default_vids phc_vids phc_version ってファイルができる。
本来、ここにphc_controlsが作られて、クロックと電圧を各ステップごとに設定できるはずなのだが、これは未実装。よって電圧コントロールのファイルのみができているはず。
とりあえず設定を見てみる。
$ cat /sys/devices/system/cpu/cpu0/cpufreq/phc_vids
18 26 34 42

お?ちょっと・・・なんか数字がおかしい。
本来、READ MEにあるように1550-25*X mV このXのところの数字が18 26 34 42なはずなのだが。。。

E.g.:
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


どうやら基本電圧が違うような予感。
とりあえず800Mhzのときで計算すると、25*42=1050 これをデフォルト電圧0.95Vに合わせるならば、基本電圧は2000mVとなる。え?まじで?
2000と仮定して、2.8Ghzのときを計算。2000-25*18=1550mV ・・・
ここは1.325Vになるはずなのだが・・・倍数の25が違うのか?

ちなみに現状、READ MEにはPhenomIIに関しては書いていない。うーむ。
とりあえず適当に設定して打ってみる。
# echo '10 14 24' > /sys/devices/system/cpu/cpu0/cpufreq/phc_vids のように、管理者権限でechoで4つ、指定してやれば良い。
デフォルトが18 26 34 42になっているので、まぁ適当に全部低電圧に振ってみた。(みんな真似すんなよw
# echo '20 30 38 50' > /sys/devices/system/cpu/cpu0/cpufreq/phc_vids
で、一応反映はされる。800の時で約0.5V低くなっていたはず。ん?42→50で50mVってことは倍数は12.5なのか?
というのを確かめる間もなく落ちる。やはり適当設定ではクロック可変時に非常に不安定になる。まぁ当たり前の話である。
ちなみにこの電圧、パネルのSensors-Applet読みなのでこれまたあまり正確とは言えないんだが。

うーん。結局、まだTipsもREADMEも整備されてない上にクロックのコントロール効かず、ってことは、
o For Black Edition processors, use "be_maxfid" to override. This ONLY works with direct_transitions enabled. As there are no known safe VID values, the higher fids need to be enabled vi phc_controls with a proper FID:VID pair.
このBEのOC機能も使えないわけで、非常に微妙ですね。

ちなみに。K10Railgunで定電圧設定をMSRに書き込んだ状態でhw_pstate_ctrl.pyを走らせてみると・・・これ、どうもデフォルト設定読み込んでるだけじゃないかな?
しかも俺のところではMBで全体的にちょっと落とした上でK10Railgunで細かく設定という非常にめんどくさいことをしているのでアレなんだけど。
AMD hw_pstate_ctrl reader
$ sudo python hw_pstate_ctrl.py
=== CPU 0 ===
Family: 16
Model: 4
Stepping: 2
Raw: 800001fd3800240c
Fid: 12
Did: 0
Vid: 18
PState En: 1
Frequency: 2800MHz
Voltage: 1.325V
Current: 25.3A
Watts: 34W
Raw: 800001eb38003405
Fid: 5
Did: 0
Vid: 26
PState En: 1
Frequency: 2100MHz
Voltage: 1.225V
Current: 23.5A
Watts: 29W
Raw: 800001de38004c00
Fid: 0
Did: 0
Vid: 38
PState En: 1
Frequency: 1600MHz
Voltage: 1.075V
Current: 22.2A
Watts: 24W
Raw: 8000018138006040
Fid: 0
Did: 1
Vid: 48
PState En: 1
Frequency: 800MHz
Voltage: 0.95V
Current: 12.9A
Watts: 12W

さて、このK10RailgunはopenSUSE11.3では今のところ、少なくともデフォルトでは動かなかった。
その点、一応PHCは11.3での動作報告がある模様。でもこれ、Intelっぽいし微妙だなぁ。
Cannot compile on openSUSE 11.3 anymore

ま、しばらくはDebianではK10Railgunメインに、PHCの方は進展を待ってみましょうかね。

参考
PHCフォーラムのいろんなスレッド。

関連記事
k10railgunでLinuxでもPhenomII低電圧化
AMDOverdriveCtrlでLinuxでもAMD OverDrive
UbuntuでC'nQ電圧制御 今度こそ成功!!
UbuntuでC'nQ電圧制御 今度こそ成功!!の続き(カーネルコンパイルし直し+設定)
powernowdの設定変更 on Ubuntu9.04
もっと省電力&サクサクにしたいー!!PHCとPowernowdの設定について
LinuxでPhenomのPStateを読み出すhw_pstate_ctrl.py
サーバ機のUbuntu10.04低電圧化(Athlon64x2)
暑い!そこでUndervolting!!PHC on Ubuntu(番外Intel編)
Debian squeeze にPHC導入してAthlon64x2 低電圧化
関連記事
総合案内当ブログについて
Windowsの目次Linuxの目次Linuxの目次2・ ・自作PC関連の目次Web技術関連の目次
全記事一覧情報サイト新着RSS一覧

Sponsored Link

コメントの投稿

管理者にだけ表示を許可する
ブログ内検索

カスタム検索

フリーエリア

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

レンタルサーバー

さくらのマネージドサーバ
さくらインターネットの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ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。