web-dev-qa-db-ja.com

Linuxを実行しているAMDA8-4500Mの低電圧

私はHP Pavilion g7を実行しているエレメンタリーOS(Ubuntuベース)を持っていますが、これは大音量で過熱していることが知られています。大音量で非常に迷惑です(そして91°CPrime95とFurmarkの両方で)私はインターネットを検索し、CPUの電圧が不足している人を見つけて5-20°Cより低い温度これが私がLinuxをインストールしようとしたものですPHC。

ここからAMDK8(私のCPUはK10)用のPHCをダウンロードしました http://www.linux-phc.org/forum/viewtopic.php?f=13&t=2 (一番上のもの)。解凍してSudo make dkms_installを実行しました。次に、ブートコマンドラインにcpufreq_driver=phc-k8を追加し、再起動しました

押した Esc そのため、起動メッセージを表示でき、CPUFreqドライバーなしでシステムが起動したにもかかわらず(おそらくPHCモジュール)カーネルパニックが発生しました。起動時にPHCモジュールが読み込まれなかったため、機能しませんでした。

どうすればPHCをインストールできますか ウブヌットUbuntu14.04、AMD K10CPUを搭載。

パニックメッセージ:

[   46.670211] kernel BUG at /var/lib/dkms/phc-k8/0.4.6/build/phc-k8.c:667!
[   46.670253] invalid opcode: 0000 [#1] SMP 
[   46.670281] Modules linked in: phc_k8(OE+) kvm_AMD(+) dm_multipath scsi_dh kvm crct10dif_pclmul crc32_pclmul aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper cryptd snd_seq_midi snd_seq_midi_event snd_rawmidi snd_hda_codec_hdmi snd_hda_codec_idt snd_hda_codec_generic arc4 psmouse snd_hda_intel bnep snd_hda_controller snd_seq snd_hda_codec snd_hwdep rt2800pci serio_raw rt2800mmio snd_seq_device rt2800lib rt2x00pci rt2x00mmio rt2x00lib k10temp mac80211 rtbth(OE) snd_pcm r8169 rfcomm rtsx_pci mii cfg80211 i2c_piix4 snd_timer bluetooth eeprom_93cx6 crc_ccitt snd shpchp soundcore AMD_iommu_v2 hp_accel lis3lv02d input_polldev hp_wireless mac_hid parport_pc ppdev lp parport binfmt_misc nls_iso8859_1 ahci libahci wmi video
[   46.670758] CPU: 2 PID: 548 Comm: systemd-udevd Tainted: G           OE  3.19.0-59-generic #66~14.04.1-Ubuntu
[   46.670817] Hardware name: Hewlett-Packard HP Pavilion g7 Notebook PC/184B, BIOS F.15 10/04/2012
[   46.670871] task: ffff8800aecc89d0 ti: ffff88018b9a0000 task.ti: ffff88018b9a0000
[   46.670916] RIP: 0010:[<ffffffffc080ea14>]  [<ffffffffc080ea14>] freq_from_fid_did+0x44/0x50 [phc_k8]
[   46.670975] RSP: 0018:ffff88018b9a3b28  EFLAGS: 00010202
[   46.671009] RAX: 0000000000000015 RBX: 0000000000006800 RCX: 000000000000000f
[   46.671053] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 000000000000000c
[   46.671096] RBP: ffff88018b9a3b28 R08: ffff88019ec0a108 R09: ffff880198801a00
[   46.671140] R10: ffffffffc0810c21 R11: 0000000000000005 R12: 0000000000000004
[   46.671183] R13: ffff88018b97b300 R14: ffff88018b9a3bc8 R15: ffff88018b9ba200
[   46.671227] FS:  00007f2a08f56880(0000) GS:ffff88019ed00000(0000) knlGS:0000000000000000
[   46.671275] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[   46.671311] CR2: 00007f2a08f14360 CR3: 000000018b9e5000 CR4: 00000000000407e0
[   46.671353] Stack:
[   46.673098]  ffff88018b9a3b58 ffffffffc080eb23 00000000ffffffed ffff88018b97b300
[   46.674891]  0000000000000004 000000000000a100 ffff88018b9a3c08 ffffffffc08116ad
[   46.676686]  0000000000000096 ffffffff81c546d0 ffff88018b9ba200 ffff88018b9a3bc8
[   46.678498] Call Trace:
[   46.680308]  [<ffffffffc080eb23>] print_basics+0x103/0x130 [phc_k8]
[   46.682152]  [<ffffffffc08116ad>] powernowk8_cpu_init+0x12bd/0x14e0 [phc_k8]
[   46.682158]  [<ffffffff8164b1d2>] __cpufreq_add_dev.isra.24+0x312/0xa10
[   46.682162]  [<ffffffff817a613e>] ? klist_next+0x7e/0xf0
[   46.682167]  [<ffffffffc08118d0>] ? powernowk8_cpu_init+0x14e0/0x14e0 [phc_k8]
[   46.682170]  [<ffffffff8164b8de>] cpufreq_add_dev+0xe/0x10
[   46.682175]  [<ffffffff814f82c9>] subsys_interface_register+0xa9/0xf0
[   46.682178]  [<ffffffff8164bdb8>] cpufreq_register_driver+0x118/0x330
[   46.682182]  [<ffffffffc0811a78>] powernowk8_init+0x1a8/0x20f [phc_k8]
[   46.682187]  [<ffffffffc08118d0>] ? powernowk8_cpu_init+0x14e0/0x14e0 [phc_k8]
[   46.682191]  [<ffffffff81002144>] do_one_initcall+0xd4/0x210
[   46.682200]  [<ffffffff811d1085>] ? kmem_cache_alloc_trace+0x1d5/0x270
[   46.682204]  [<ffffffff810f9c5c>] ? load_module+0x164c/0x1ce0
[   46.682207]  [<ffffffff810f9c95>] load_module+0x1685/0x1ce0
[   46.682209]  [<ffffffff810f55a0>] ? store_uevent+0x40/0x40
[   46.682215]  [<ffffffff810fa466>] SyS_finit_module+0x86/0xb0
[   46.682220]  [<ffffffff817bdbcd>] system_call_fastpath+0x16/0x1b
[   46.682247] Code: c7 64 89 f1 5d 05 20 03 00 00 d3 e8 69 c0 e8 03 00 00 c3 0f 1f 40 00 6b c7 64 89 f1 5d 05 40 06 00 00 d3 e8 69 c0 e8 03 00 00 c3 <0f> 0b 66 2e 0f 1f 84 00 00 00 00 00 66 66 66 66 90 55 48 89 e5 
[   46.682252] RIP  [<ffffffffc080ea14>] freq_from_fid_did+0x44/0x50 [phc_k8]
[   46.682253]  RSP <ffff88018b9a3b28>
2
Suici Doga

仕事に間違ったツールを使おうとしている可能性が高いと思います。

Linux上のAMDK10プロセッサのアンダークロック(およびアンダーボルト)を具体的にサポートするTurionPowerControlというプロジェクトがあります。このプロジェクトは何年にもわたって活動してきました。

彼らのプロジェクトサイトから:

TurionPowerControlは、その名前にもかかわらず、最新のAMDプロセッサの多くのパラメータを表示および制御できます。電源状態、周波数、DRAMタイミング、電源設定を操作し、温度を報告し、pstateの変化と正確なCPU使用率を監視できます。 WindowsとLinux、32ビットと64ビットの両方のアーキテクチャで利用でき、マルチプロセッサマシンを完全にサポートします。

現在サポートされているプロセッサは次のとおりです。

ファミリー10h:すべてのPhenom、Phenom II、Athlon II、Turion Mxxx、およびPxxxプロセッサー

<\ snip>

K10ファミリー のほとんどをカバーしています

彼らはそれがUbuntuの最近のバージョン( buntuユースケース )でうまくコンパイルされ、いくつかの非常に 完全なドキュメント。 を持っていると述べています。

その使用法/機能の基本的な概要は このドキュメント にあり、ここから抜粋します:

周波数と電圧を変更します

電圧や周波数を簡単に変更したい場合は、-setコマンドスイッチを使用する必要があります。それは本当に使いやすく、かなりユーザーフレンドリーです。

簡単な例を見てみましょう。 pstate 0〜2000 Mhzの周波数をすべてのコアに設定する場合は、次のコマンドを起動するだけです。

TurionPowerControl -­set core all pstate 0 frequency 2000

プログラムは、要求された頻度に一致する完全な組み合わせがない場合に警告し、結果を丸めます。

コア電圧も設定したい場合、たとえば1.200ボルトの場合、コマンドは次のようになります。

TurionPowerControl -­set core all pstate 0 frequency 2000 vcore 1.200

<\ snip>

これは、目標を達成するために使用する必要のあるツールだと思います。実際には、現在機能させようとしているものよりも適しているように聞こえます。うまくいかない可能性もありますが、質問の情報からすると、私にはぴったりのようです。

リンク:

プライマリプロジェクトページ(Github)

更新

AMD A8-4500Mのデフォルトのpstate( ソース ):

#1: 1800 MHz, 0.375V
#2: 1700 MHz, 0.275V
#3: 1600 MHz, 0.225V
#4: 1400 MHz, 0.175V
#5: 900 MHz, 0.175V

あなたの質問の文脈では、私は同じ電圧を使用しません-開始するために0.165または0.170にわずかに減少してみてください。

2
Argonauts

CPUパッケージCの状態を利用するには、カーネルに最新のACPIモジュールが含まれているOSを使用する必要があります。そうしないと、CPUがOSからHALT命令を受信せず、電力を浪費して熱を発生します。

0