Undervolting um Linux AMD A8-4500M runnning

2

Eu tenho um HP Pavilion g7 rodando OS elementar (baseado no Ubuntu) que é conhecido por ser alto e superaquecer. O meu não desliga, mas fica alto o que é muito chato (e < strong> 91 ° C com ambos Prime95 e Furmark) .Eu procurei na internet e encontrei algumas pessoas CPUs sub-volto e obter 5 - 20 ° C mais baixo Aqui está o que eu tentei instalar o Linux PHC.

Eu baixei o PHC para o AMD K8 (meu processador é K10) aqui link (a parte superior) .Unzipped e corri sudo make dkms_install .Então eu adicionei cpufreq_driver=phc-k8 à linha de comando de inicialização e reinicializou .

Eu pressionei Esc para poder ver as mensagens de inicialização e vi um pânico no kernel, embora o sistema tenha inicializado (provavelmente o módulo PHC) sem o driver CPUFreq. não carregado de modo que não funcionou.

Como posso instalar o PHC em Ubunut Ubuntu 14.04 com CPU AMD K10.

Mensagem de pânico:

[   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>
    
por Suici Doga 06.07.2016 / 04:14

2 respostas

2

Eu acho que você está provavelmente tentando usar a ferramenta errada para o trabalho.

Existe um projeto chamado TurionPowerControl que suporta especificamente processadores underclocking (e undervolting) AMD K10 no linux. O projeto está ativo há vários anos.

Do site do projeto:

TurionPowerControl, despite its name, allows to view and control many parameters of modern AMD processors. It can manipulate power states, frequencies, DRAM timings, power settings and can report temperatures, monitor pstate changes and precise cpu usage. It is available for Windows and Linux, for both 32 bit and 64 bit architectures and fully supports multiprocessor machines.

Currently supported processors are:

Family 10h: All Phenom, Phenom II, Athlon II, Turion Mxxx and Pxxx processors

<< \ snip >

Que abrange a maior parte da Família K10

Eles afirmam que ele compila bem em versões recentes do Ubuntu ( Caso de Uso do Ubuntu ), e tem alguma documentação muito completa. .

Uma visão geral básica de seu uso / recursos está em este documento , aqui extraído:

Change frequency and voltage

If you want to change voltage or frequency in a easy manner, you have to use the -set command switch. It is really easy to use and pretty user friendly.

Let's see a simple example. If you want to set the frequency of your pstate 0 to 2000 Mhz to all cores you just have to launch such a command:

TurionPowerControl -­set core all pstate 0 frequency 2000

The program will warn you if there isn't a perfect combination that matches the frequency you requested, and will round the result.

If you wish to set core voltage too, let's say 1.200 volts, then the command will become like this:

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

<< \ snip >

Eu acho que essa é a ferramenta que você precisa usar para atingir seu objetivo; na verdade, soa melhor do que o que você está tentando trabalhar. É possível que não funcione para você, mas com base nas informações da sua pergunta, parece um ajuste sólido para mim.

Link:

Página principal do projeto (Github)

Atualizar

Padrão pstates para AMD A8-4500M ( source ):

#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

No contexto da sua pergunta, eu não usaria a mesma voltagem - tente uma pequena redução para 0,165 ou 0,170 para começar.

    
por 11.07.2016 / 07:46
0

Você precisa usar um sistema operacional cujo kernel possui um módulo ACPI atualizado para se beneficiar dos estados C do pacote da CPU. Caso contrário, sua CPU não receberá instruções HALT do sistema operacional, desperdiçará energia e produzirá calor.

    
por 11.07.2016 / 15:08