2011/11/15

Ubuntu 11.10@E425〜TPC編その1〜

肉離れ初体験。いや〜痛い痛い(*´ω`*)
ただ自転車に乗ろうとしたそれだけなのに、ふくらはぎの筋のどれかを肉離れさせたオワコンおやじのドラです、おはようございます。

肉離れしてても、ダイエットの自転車通勤は続けてますよ!(・∀・)

それでもあんまり痛いし、ふくらはぎが2コブラクダみたいになってるしで慌ててお医者さん通ったら、「2週間も経ってから来てどうしろと!?」「自転車乗り続けてる!?よくやる・・・」と怒られたり呆れられたり

┐(´∀`)┌

たしかに痛いし歩きづらいのですが、普通に自転車とかならコゲるんですよね、不思議と。たぶんふくらはぎの筋を伸ばさない行為は大丈夫なんでしょうね。

いつも前置きが長くなって申し訳ないです。変な時間に目が覚めてしまったので、ネタ投下します

(/ω\)

今日はやっとE425のUbuntuでのオーバークロック(主目的はむしろ低電圧化ですが)について書いてみようと思います。

みなさんは、TPCってご存知ですか? 「◯ステティックはT◯C」じゃないですよ?

「TurionPowerControl」略してTPC。これはblackshardさんが組んだプログラムで、当初はTurion ZM/RM/QL 向けに書かれたもので、該当CPUの電圧や周波数を設定出来ます。Windowsで言う所のK10statでしょうか。

世間への初お披露目は去年の9月(2010年9月)のようですね。ここに投下されたことが始まりのようです。もっともこの時点で既にバージョン2.90 pre-alphaですが。

残念ながら、全てのAMDユーザーが利用できるわけではないです。個々のCPUやマザーボードによって出来ること出来無いことがあるので、詳しくはプログラムに添付のREADMEで確認してください。

低電圧化やオーバクロックは、メーカーやTPCの開発者も含めて無保証です。私も含め誰も推奨する行為ではありません。最悪ハードウェアが動作しなくなるなどの故障を招く恐れもあります。

危険な行為であることをご理解の上で、動作検証してみるかどうかを判断してください。

もちろん私はなんら責任を負いませんし、負えませんのであしからず。

お約束の注意喚起が終わったところで、本題に入りましょう。

TPCはこちらからダウンロード出来ます。動作させる為には前準備がいくつか必要です。

正直「README読め!!終わり!!」でいいのですけど、それではネタにならないんですよねぇ
(*´ω`*)

以下、私が行った手順を書きます。とりあえず今回は大まかな流れだけ書きます。行間を脳内補完出来る人は、あとはプログラム付属のREADMEを読むなりして「やっちゃえ」ば良いと思うの。ま・・・間違ってても・・・し、知らないんだからねっ!(何

環境:
Thinkpad Edge E425:A8-3500Mモデル
OS:Ubuntu 11.10 64bit

1.cpuidとmsrモジュールをmodprobeコマンドなどでロードする

2.TPCのパッケージを展開して「tpc-0.41/bin/Ubuntu-x86_64」に移動し以下を実行して、TPCが実行可能かどうかを調べる

$ sudo ./TurionPowerControl -l

出力結果:
Turion Power States Optimization and Control - by blackshard - v0.41
Main processor is Family 12h Llano Processor
    Family: 0xf        Model: 0x1        Stepping: 0x0
    Extended Family: 0x12    Extended Model: 0x1
    Package Type: 0x1    BrandId: 0x811
Machine has 1 nodes
Processor has 4 cores
Processor has 8 p-states

Power States table:
-- Node: 0 Core 0
core 0 pstate 0 - En:1 VID:17 FID:20 DID:1.50 Freq:2400 VCore:1.3375
core 0 pstate 1 - En:1 VID:38 FID:14 DID:2.00 Freq:1500 VCore:1.0750
core 0 pstate 2 - En:1 VID:41 FID:26 DID:3.00 Freq:1400 VCore:1.0375
core 0 pstate 3 - En:1 VID:43 FID:20 DID:3.00 Freq:1200 VCore:1.0125
core 0 pstate 4 - En:1 VID:45 FID:17 DID:3.00 Freq:1100 VCore:0.9875
core 0 pstate 5 - En:1 VID:46 FID:14 DID:3.00 Freq:1000 VCore:0.9750
core 0 pstate 6 - En:1 VID:47 FID:11 DID:3.00 Freq:900 VCore:0.9625
core 0 pstate 7 - En:1 VID:48 FID:16 DID:4.00 Freq:800 VCore:0.9500

〜〜〜以下略〜〜〜

3.TurionPowerControlコマンドが実行可能であることが確認出来たら、cpuidとmsrモジュールが起動時にロードされるようにする。

4.再起動してcpuidとmsrモジュールがロードされていることを確認したら、1つづつTurionPowerControlコマンドを実行し設定を詰めて行きます。このときハングや再起動することも考えられるので、手書きのメモを取るようにしておくと確実です。

設定を詰めていく時は無茶な値をいきなり試すのではなく、ある程度余裕を持たせた値から試すのがよいです。

まずは周波数から試すのが良いでしょう。周波数分布を決めてから、常用できる電圧の最低値を探っていくのがいいと思います。

当方のA8-3500Mは周波数上限を2.8GHzとしました。CPUには個体差あるので必ずしもそうとは限りません。安全をみると2.6GHzあたりを上限にすると確実かもしれません。

とにかく2.8GHzより上は消費電力的にも、発熱的にもとても常用できるものではないと思います。

周波数設定の例:
$ sudo ./TurionPowerControl ­set core all pstate 1 frequency 2000
全コアのpstate 1を2.0GHzに設定

周波数と電圧も設定する場合;
$ sudo ./TurionPowerControl ­set core all pstate 1 frequency 2000 vcore 1.200
周波数設定のコマンドにvcoreを追加

上記例では「pstate 1」の設定をしていますが、それは「pstate 0」はブースト時の周波数なので、設定を詰めるのに扱いづらいのではと思いこのようにしてます。

設定を詰めるときの注意として、周波数よりも電圧の最低値を探るときのほうがPCが不安定になりやすいので、気をつけてください。電圧の参考値としては手順2で実行したコマンドの結果の電圧を参考にするといいと思います。

例えば、デフォルトのpstate 0は2.4Ghzでvcoreが1.3375Vですが、当方の個体では2.8GHz@1.3375Vで常用できています。まぁ、負荷をかけると発熱も尋常じゃないですが

┐(´д`)┌

5.周波数や電圧の設定がある程度詰めれたら、それぞれの周波数分布において負荷テストを実施して常用できるか否かを判定します。
もしも負荷テストでハングしたり、挙動が怪しかったり、発熱が尋常じゃない場合は直ちに設定を見なおした方がいいでしょう。

6.設定を煮詰めることが出来たら、TurionPowerControlをサービスとして起動するなり、手動で起動するなり好きにすればいいと思うの!!(・∀・)

と、かなり適当な記述で走り書きしましたが、実際はもうちょっと面倒くさい前準備やら手順が入ってきます。

「CPUの周波数固定はどうするの?」「CPU温度監視しないと怖いよね?」とかあると思うんですけど、つまりそう言ったことは今回省略してます。

つまり、あまり「お手軽にOCや低電圧化が出来る」わけではない・・・ということです。それでも、手法が用意されているわけですし、実際私は「助かるな〜コンパイル作業も依存関係に悩んだりもしなくていいし、こりゃ楽チン♪」とか思ってるわけですが。

走り書きですし、行間かなりすっ飛ばされていてわかりづらいとは思いますので、次回はもう少し具体的な手順を書いてみたいと思います。


60fpsな「アノ」動画がUbuntuでもにゅるにゅる再生できるようになりますよ?w

0 件のコメント:

コメントを投稿