スポンサーサイト

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

Sponsored Link

k10ctlを使ってLinux上でPhenomⅡの低電圧化を試みる

PHCがUpdateされてなくて、前回(メイン機にもLMDE)はk10Railgunを使って低電圧化してましたが、k10ctlなるものがあるらしいと嗅ぎつけました。
どうも本家サイトは閉じちゃってて、今はSource ForgeからしかDLできないっぽい?
k10ctl

参考
Overclocking(Ubuntu本家フォーラム)
K10ctl(Arch wiki)
やっぱこーいうの日本語情報少ないよねー。

以下、ハードウェアを壊すこともあるかもしれないので意味がよくわからない人は真似しないでください。
実行環境はPhenomⅡx4 970 BE +M4ATD+DDR3 1333 2Gx3(前回1Gx4って書いてたけど間違い)
LMDE201403.。カーネルは3.11.2−AMD64。

1.なにはともあれDL
k10ctlからk10ctl.tar.gzをDLして展開。
中身はCOPYING Makefile Readme k10ctl k10ctl.pas
どうやらMake installもできそうな気配だけれど、このまま k10ctが実行ファイルになっているのでそのまま実行でも使えます。
Read Meは読んどくべきだけど、あまり親切なものではないです。
しかしながら基本的な使い方は書いてあるのでしっかり読んどきましょう。

2.準備
k10ctlのディレクトリに移動して動かす準備。
modprobe msrしてからmsr kernel moduleがちゃんと読み込まれてるか確認してみます。

$ cd k10ctl/
$ sudo modprobe msr
$ ls -l /dev/cpu/*/msr
crw------- 1 root root 202, 0 5月 4 14:49 /dev/cpu/0/msr
crw------- 1 root root 202, 1 5月 4 14:49 /dev/cpu/1/msr
crw------- 1 root root 202, 2 5月 4 14:49 /dev/cpu/2/msr
crw------- 1 root root 202, 3 5月 4 14:49 /dev/cpu/3/msr
$ ls -l /proc/bus/pci/00/18.3
-rw-r--r-- 1 root root 4096 5月 4 14:49 /proc/bus/pci/00/18.3



この時点でk10ctl実行すると簡単なヘルプが見られます。Read Meの内容と同じ?

$ ./k10ctl
Warning:
USE THIS PROGRAM AT YOU OWN RISK. IT MAY DAMAGE YOUR HARDWARE.

Usage:
k10ctl -h This help
k10ctl [-] Print a lot of information about CPU(s) (-)
k10ctl [-] -a Print DSDT template for CPU(s) (-) using P-State MSR's
k10ctl [-] Set the P-State for CPU(s) (-)
k10ctl [-] [parameters] Configure the P-State for CPU(s) (-), see below

Parameters for the P-State configuration:
-nv Nothbridge VID (0..127)
-nd Nothbridge DID (0..1)
-cv CPU VID (0..127)
-cd CPU DID (0..7)
-cf CPU FID (0..63)
-p Power dissipation in mW

Examples:
k10ctl 0-3 Print a lot of information about cores 0-3
k10ctl 0-3 0 -nv 46 -cv 22 -cd 0 -cf 16 Set NbVid=46, CpuVid=22, CpuDiD=0, CpuFid=16 for CPU's 0-3 and P-State 0
k10ctl 0-3 0 Set P-State 0 for CPU's 0-3
k10ctl 0 -a Print a DSDT template for CPU 0


移行設定書き換えにはroot権限が必要なのでsuして(sudoでも可)
デフォルト設定確認

# ./k10ctl 0-3
VID interface mode: serial

CPU0
Current P-State: 3 Fastest P-State: 0
NbVid NbDid CpuVid CpuDid CpuFid UNb CpuMult UCpu PCore
P-State 0: 36 0 20 0 19 1100.0mV 17.50000 1300.0mV 27430mW
P-State 1: 36 0 28 0 12 1100.0mV 14.00000 1200.0mV 18240mW
P-State 2: 36 0 34 0 6 1100.0mV 11.00000 1125.0mV 12825mW
P-State 3: 36 0 52 1 0 1100.0mV 4.00000 900.0mV 3870mW
Low Limit: 124 1 124 0.0mV 0.50000 0.0mV
High Limit: 0 1 0 1550.0mV 0.00000 1550.0mV
Target: 36 0 52 1 0 1100.0mV 4.00000 900.0mV
Current: 36 0 52 1 0 1100.0mV 4.00000 900.0mV

VID interface mode: serial

CPU1
Current P-State: 3 Fastest P-State: 0
NbVid NbDid CpuVid CpuDid CpuFid UNb CpuMult UCpu PCore
P-State 0: 36 0 20 0 19 1100.0mV 17.50000 1300.0mV 27430mW
P-State 1: 36 0 28 0 12 1100.0mV 14.00000 1200.0mV 18240mW
P-State 2: 36 0 34 0 6 1100.0mV 11.00000 1125.0mV 12825mW
P-State 3: 36 0 52 1 0 1100.0mV 4.00000 900.0mV 3870mW
Low Limit: 124 1 124 0.0mV 0.50000 0.0mV
High Limit: 0 1 0 1550.0mV 0.00000 1550.0mV
Target: 36 0 52 1 0 1100.0mV 4.00000 900.0mV
Current: 36 0 52 1 0 1100.0mV 4.00000 900.0mV

VID interface mode: serial

CPU2
Current P-State: 3 Fastest P-State: 0
NbVid NbDid CpuVid CpuDid CpuFid UNb CpuMult UCpu PCore
P-State 0: 36 0 20 0 19 1100.0mV 17.50000 1300.0mV 27430mW
P-State 1: 36 0 28 0 12 1100.0mV 14.00000 1200.0mV 18240mW
P-State 2: 36 0 34 0 6 1100.0mV 11.00000 1125.0mV 12825mW
P-State 3: 36 0 52 1 0 1100.0mV 4.00000 900.0mV 3870mW
Low Limit: 124 1 124 0.0mV 0.50000 0.0mV
High Limit: 0 1 0 1550.0mV 0.00000 1550.0mV
Target: 36 0 52 1 0 1100.0mV 4.00000 900.0mV
Current: 36 0 52 1 0 1100.0mV 4.00000 900.0mV

VID interface mode: serial

CPU3
Current P-State: 3 Fastest P-State: 0
NbVid NbDid CpuVid CpuDid CpuFid UNb CpuMult UCpu PCore
P-State 0: 36 0 20 0 19 1100.0mV 17.50000 1300.0mV 27430mW
P-State 1: 36 0 28 0 12 1100.0mV 14.00000 1200.0mV 18240mW
P-State 2: 36 0 34 0 6 1100.0mV 11.00000 1125.0mV 12825mW
P-State 3: 36 0 52 1 0 1100.0mV 4.00000 900.0mV 3870mW
Low Limit: 124 1 124 0.0mV 0.50000 0.0mV
High Limit: 0 1 0 1550.0mV 0.00000 1550.0mV
Target: 36 0 52 1 0 1100.0mV 4.00000 900.0mV
Current: 36 0 52 1 0 1100.0mV 4.00000 900.0mV



Pstate 0-3の4段階で電圧を見ています。
Parameters for the P-State configuration:
-nv Nothbridge VID (0..127)
-nd Nothbridge DID (0..1)
-cv CPU VID (0..127)
-cd CPU DID (0..7)
-cf CPU FID (0..63)
-p Power dissipation in mW
とあるように、NBとCPUの電圧、クロック -nv -cv -cf とオプションつけて実行で変えられます。
じゃあやってみましょうかね。

・低電圧化実行
WindowsでK10Stat使って出してた設定を参考にちまちまやっていきます。
970BE載せ替え&兜クーラーIYH&K10Stat(適当のときに(適当に)出してますね。
P0 3500 1.2500v
up 80 down 60
P1 2800 1.1250v
up 70 down 50
P2 2200 0.9750v
up 60 down 40
p3 800 0.7875v
up 300ms down 500ms

up downは指定できないけど、電圧は参考になるのでこの辺を狙いましょう。
k10ctlを使う場合、この独特の数字がいまいちよくわからないのでちょっと慎重に。とはいえ各P-Stateを見るとデフォルトでどの数字を指定するとどれくらいの電圧になっているかは見られますので、そのあたりも参考に。
一応Read Meには
In serial VID interface mode it is

if vid>=124 then U=0 mV
else U=1550mV - vid*12.5 mV .

The CPU frequency multiplier is computed by

CpuMult = (CpuFid + 16) / (2^(CpuDid+1)).


とあるので1550mVー(入れた数字)*12.5mVになるのかな?
1550mV −24*12.5=1200mV ってことか。
やったことある方はお分かりでしょうが、こういった作業をしていると一回の打ち間違いもしくは攻め過ぎで一撃強制シャットダウンとかあるのでご注意を。(今の所俺は大丈夫

まずはP-State 0(最大クロック3.5Ghz)のところ、デフォルトで CPU VID20でUCpu1300.0mV になってますので、これをP-State1のCPU VID 28で1200mvになってるあたりとか参考にして・・・

# ./k10ctl 0-3 0 -cv 24
# ./k10ctl 0-3
VID interface mode: serial

CPU0
Current P-State: 3 Fastest P-State: 0
NbVid NbDid CpuVid CpuDid CpuFid UNb CpuMult UCpu PCore
P-State 0: 36 0 24 0 19 1100.0mV 17.50000 1250.0mV 26375mW
P-State 1: 36 0 28 0 12 1100.0mV 14.00000 1200.0mV 18240mW
P-State 2: 36 0 34 0 6 1100.0mV 11.00000 1125.0mV 12825mW
P-State 3: 36 0 52 1 0 1100.0mV 4.00000 900.0mV 3870mW
Low Limit: 124 1 124 0.0mV 0.50000 0.0mV
High Limit: 0 1 0 1550.0mV 0.00000 1550.0mV
Target: 36 0 52 1 0 1100.0mV 4.00000 900.0mV
Current: 36 0 52 1 0 1100.0mV 4.00000 900.0mV
(以下略


ふむ、変わりましたね。もうちょっと攻められそうです。
同じようにP-state1〜3もちまちまいじって、結果を見て更にいじってなどしていきます。
結果的には

# ./k10ctl 0-3 0 -cv 28
# ./k10ctl 0-3 1 -cv 34
# ./k10ctl 0-3 2 -cv 48
# ./k10ctl 0-3 3 -cv 60
# ./k10ctl 0-3
VID interface mode: serial

CPU0
Current P-State: 3 Fastest P-State: 0
NbVid NbDid CpuVid CpuDid CpuFid UNb CpuMult UCpu PCore
P-State 0: 36 0 28 0 19 1100.0mV 17.50000 1200.0mV 25320mW
P-State 1: 36 0 34 0 12 1100.0mV 14.00000 1125.0mV 17100mW
P-State 2: 36 0 48 0 6 1100.0mV 11.00000 950.0mV 10830mW
P-State 3: 36 0 60 1 0 1100.0mV 4.00000 800.0mV 3440mW
Low Limit: 124 1 124 0.0mV 0.50000 0.0mV
High Limit: 0 1 0 1550.0mV 0.00000 1550.0mV
Target: 36 0 60 1 0 1100.0mV 4.00000 800.0mV
Current: 36 0 60 1 0 1100.0mV 4.00000 800.0mV

VID interface mode: serial



クロックも含めるとまだまだ設定詰められそうな気もしますがとりあえずはこのあたりかな。
ちなみにP-State 3にcv62を指定したところ落ちはしなかったものの

Message from syslogd@tmin-pc at May 4 16:11:32 ...
kernel:[ 5408.524658] [Hardware Error]: MC1 Error: Parity error during data load.
(以下略


とかいつもの(おい)エラーが出たので60に戻しました。(たぶん0.8v切るとエラーが出るんだと思う

この間、Conkyやらsensorsで監視しながらやるのは必須ですね。

$ sensors
k10temp-pci-00c3
Adapter: PCI adapter
temp1: +38.5°C (high = +70.0°C)
(crit = +90.0°C, hyst = +88.0°C)

atk0110-acpi-0
Adapter: ACPI interface
Vcore Voltage: +0.79 V (min = +0.80 V, max = +1.60 V)
+3.3V Voltage: +3.31 V (min = +2.97 V, max = +3.63 V)
+5V Voltage: +5.08 V (min = +4.50 V, max = +5.50 V)
+12V Voltage: +12.05 V (min = +10.20 V, max = +13.80 V)
CPU Fan Speed: 544 RPM (min = 600 RPM, max = 7200 RPM)
Chassis Fan Speed: 1486 RPM (min = 600 RPM, max = 7200 RPM)
Power Fan Speed: 0 RPM (min = 600 RPM, max = 7200 RPM)
CPU Temperature: +41.0°C (high = +60.0°C, crit = +95.0°C)
MB Temperature: +40.0°C (high = +45.0°C, crit = +75.0°C)



Make file見てみたけど、多分make installするとフツーにコマンドとしてk10ctlが使える(rootで)ようになるみたいな感じ。
BEなので倍率ロックフリー、OCもこれで行けるかと思ったけど
# ./k10ctl 0-3 0 -cf 20
してもモニタリングで最大は3.5Ghzのままだった。
Ubuntuの本家フォーラムの最後の投稿が

But the CPU frequency scaling monitor, lscpu and cpuinfo all show that frequency stays at stock 3.1 GHz. Any ideas?


となってるので俺だけではない模様?
他のP-Stateでもどーもクロック変更は効いてないみたい?

* It can modify the P-States, i.e. alter processor and the northbridge
frequencies and voltages;


とRead Meにはあるので対応がまちまちなのかもしれないですし、BIOS設定が何かしら必要かもしれません。

とはいえk10railgunよりも現状安定してる感じ。(k10railgunはまだα版のままですし)
結局# modprobe msr してからコマンドラインで指定するという手法は全く同じなので、一行で全State指定できるという点ではk10railgunのほうが上な気もしますが、ちょっとうちの環境ではよくわからないエラー吐いてることがしばしばあった(しかしちゃんと動作はしている)のでちょっとの間k10ctl使ってみて比べてみようと思います。

関連記事
Debian squeeze にPHC導入してAthlon64x2 低電圧化
完全に素のDebian(Squeeze)でPowernowdのCPUステップとPHCを動くようにする
LMDEセットアップいろいろ
LMDEにfglrx(リベンジ
メイン機にもLMDE
Linux PHC使ってDell Studio 1737の低電圧化(LMDE)
関連記事
総合案内当ブログについて
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ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。