Athlon Powersaving HOWTO | ||
---|---|---|
Prev |
さて、上記で記載されているパワーセーブ手段のどれかを用いることにして、テストしようというところまで来ました。 テストするには二つの方法があります。
もし、温度で制御するファンを CPU ヒートシンクに使っているなら、ファンの騒音をチェックして動作しているかどうかを調べることができます。 数分なにもさせないでおいて、その後 CPU に何か負荷を掛けます。
私は普通は以下のようにしています。
特権ユーザ (root) になる。
cd /usr/src/linux
その後、コンピュータに仕事を与える - while true; do make clean; make bzImage; done
20 から 30 秒後に、ファンが高速に回り出してファンの音が大きくなったのが分かるはずです。 ほどほどの時間 (数分) 後に CTRL-C でループを止めるのを忘れずに。
同じ手順を、CPU の温度を測定するプログラム (lm-sensors や xmbmon や rtsensors) と組み合わせるやりかたも使えます。
Athlon/Duron には二つの既知のバグがあります。これは、AMD Athlon Processor Revision Guide の #11 と #14 の問題です。Athlon XP の方がこのバグが発生する頻度が歴然と低いようなので、私のように Athlon XP を持っている人はついている、ということになります [1]。
以下の問題が発生する可能性があります (上記のバグによって)
音楽再生時に再生がとぎれる
ビデオ再生時に再生がとぎれる
Ultra-DMA ハードディスクの転送速度が劣化する
システムがハングする
USB の問題
高いピーという音が出るとの報告がありました
BIOS アップデートが役に立つ場合があります (バグ #11 の BIOS から可能な回避策を含むものとしてそのリリースが提供されている場合)。 但し、私の知る限りこの回避策を BIOS で提供しているのは数えるほどのマザーボードに限られます。
Asus A7V133-C では、BIOS オプション PCI master read caching
を有効にすれば関連の問題はほとんど解消されます。BIOS
画面を見て当該機能の有無を確認してください。
また、一部のボードでは、BIOS オプション Delayed Transaction
が問題の一部を解決します。このオプションも試してみると良いでしょう。
注意: KT133A を使ったボードでは、このオプションを有効にすると有名な VIA のサウスブリッジのバグも有効になってしまいます。
Asus A7V に関する Newsnet のポストから
delayed transaction なし - サウンドと TV の再生がとぎれる
delayed transaction あり - サウンド再生はとぎれない。 TV の再生はわずかにとぎれる
delayed transaction と master read caching あり - TV の再生はほとんどとぎれず、サウンド再生は全くとぎれない。
他にも問題の原因は考えられます。
電源がプロセッサ/マザーボードの消費電力の変動に耐えられるほど強力ではない。
一部のマザーボードのオンボードレギュレータに、上の電源と同じ問題がある。
持っているマザーボードが K7S5A (Elitegroup) である (私の知る限り、このボードはパワーセーブ機能を有効にすると本当に挙動不審になります)
パワーセーブ機能を有効にして細かい問題が起きるが、パワーセーブは使うようにしたい場合、通常はパワーセーブを有効にしておいて、音楽の再生時や TV を見る際にオフにするのが良いでしょう。
この解決法の動作を教えてくれた Michael Hamilton さんに感謝します。
二名のかたにこの修正の動作を確認いただいているため、恐らく動作するとは思いますが、動作しないシステムがあるかも知れません。 実機での検証結果の報告をお願いします。
では、はじめましょう。どうやら、音がとぎれる問題は、デバイスの PCI レーテンシィタイマを最大値に設定することで修正可能なようです。
まず、サウンドカードの PCI アドレスを知る必要があります。これは lspci コマンドで調べられます。出力から、 "Multimedia audio controller" または "AudioPCI" と書かれた行を探し、そのデバイスの PCI アドレスを得ます (これは、01:06.0 のような値で、順にバス番号、スロット番号、ファンクション番号を示します)。 そして、そのデバイスのレーテンシィタイマを最大値にします。これには setpci を使います。
setpci -v -s "pci-address" latency_timer=ff
レーテンシィタイマについての説明は、IBM developerworks の説明 をご覧ください。
【訳注:この回の Developerworks の日本語訳はない模様です。】
この修正は、USB の問題やハードディスクの転送速度が落ちる問題などの音関連以外の問題にも有効かも知れませんが、そちらについてはテストがされていません。 検証結果の報告をお願いします (全然動かなかったり、前より全体的に悪くなったりしても非難しないでくださいね)。 まずいことに、私のところではこの問題は起きていないので自分でテストすることができないのです。
これが動作するようなら、この setpci コマンドを立ち上げ/リブート時に実行する必要があります。 これには init スクリプトのどこかに含めるのが良いでしょう (ドライバモジュールがロードされた後でなければいけません)。
これを教えていただいた、Wijatmoko Prayitno さんに感謝します。
この回避策は、VIA の KT266, KT/KM333 と KT/KM400 チップセットでのみ確認が取れています。他の VIA のチップセットでも動作する可能性はあります。他の VIA のチップセットでの動作報告をお願いします。
これはごく簡単で、パワーセーブの有効化のコマンドラインと同様に動作します。
有効化: setpci -v -H1 -s 0:0.0 70=$(printf %x $((0x$(setpci -H1 -s 0:0.0 70) | 0x08)))
無効化: setpci -v -H1 -s 0:0.0 70=$(printf %x $((0x$(setpci -H1 -s 0:0.0 70) & 0xf7)))
これが動作するようなら、この setpci コマンドを立ち上げ/リブート時に実行する必要があります。 これには init スクリプトのどこかに含めるのが良いでしょう (ドライバモジュールがロードされた後でなければいけません)。
他の言語への翻訳が既に存在しています。現時点では、その一部は本文書の 最新版の翻訳ではありません。
Zsolt Mocza さんによる ハンガリー語版
Carlos Mayo さんによる スペイン語版 (古くなっています)
Bruno Buys さんによる ブラジル・ポルトガル語版
Mathieu Pillard さんによる フランス語版 (古くなっています)
Maurizio Fantino さんによる イタリア語版 (古くなっています)
Fabian Mohren さんによる ドイツ語版 (一部分のみ)
かねこによる 日本語版
誤字・脱字・誤訳等なにかありましたら <JF@linux.or.jp> までお知らせください。
翻訳:
かねこ <skaneko@a2.mbn.or.jp.NOSPAM>
濱崎さん <hma@syd.odn.ne.jp.NOSPAM>
[1] | 訳注: Model 4 (Athlon Thunderbird) の問題 #11,#14 は Model 6 (Athlon XP) ではドキュメント上修正されているように見える。何かまだあるのかな。 |