我有一个HP Pavilion g7运行 elementary OS(基于 Ubuntu),众所周知,它噪音大、过热。我的电脑不会关机,但噪音很大,很烦人(而且91°C使用 Prime95 和 Furmark)。我在网上搜索了一下,发现有些人给 CPU 降压,然后5-20 摄氏度较低的温度。以下是我尝试安装 Linux PHC 的情况。
我从这里下载了适用于 AMD K8 的 PHC(我的 CPU 是 K10)http://www.linux-phc.org/forum/viewtopic.php?f=13&t=2(最上面的一个)。解压并运行sudo make dkms_install
。然后我将其添加cpufreq_driver=phc-k8
到启动命令行并重新启动。
我按下了Esc以便可以查看启动消息,并且我看到内核崩溃,尽管系统在没有 CPUFreq 驱动程序的情况下启动(最有可能是 PHC 模块)。启动时 PHC 模块未加载,因此不起作用。
如何在乌布努特 Ubuntu14.04 配备 AMD K10 CPU。
恐慌信息:
[ 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>
答案1
我认为您可能尝试使用错误的工具来完成这项工作。
有一个项目叫TurionPower控制它专门支持在 Linux 上对 AMD K10 处理器进行降频(和降压)。该项目已经活跃了好几年。
来自他们的项目网站:
TurionPowerControl,尽管其名称如此,但可以查看和控制现代 AMD 处理器的许多参数。它可以操纵电源状态、频率、DRAM 时序、电源设置,并可以报告温度、监控 pstate 变化和精确的 CPU 使用率。它适用于 Windows 和 Linux,适用于 32 位和 64 位架构,并完全支持多处理器机器。
目前支持的处理器有:
系列 10h:所有 Phenom、Phenom II、Athlon II、Turion Mxxx 和 Pxxx 处理器
<\剪辑>
涵盖了大部分K10 家庭
他们声称它在最新版本的 Ubuntu 上编译得很好(Ubuntu 用例),并且有一些非常详尽的文档。。
它的用途/功能的基本概述如下这个文件,摘录如下:
改变频率和电压
如果你想以简单的方式改变电压或频率,你必须使用 -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
<\剪辑>
我认为这是您需要使用的工具来实现您的目标;实际上,它听起来比您目前尝试使用的工具更合适。它可能不适合您,但根据您问题中的信息,它对我来说似乎很合适。
关联:
更新
AMD A8-4500M 的默认 pstates (来源):
#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
您需要使用内核具有最新 ACPI 模块的操作系统,才能从 CPU 包 C 状态中获益。否则,您的 CPU 将无法从操作系统接收 HALT 指令,从而浪费电力并产生热量。