Pare a CPU de superaquecer


11

Ao executar aplicativos intensivos como o blender, minha CPU pode chegar a 80.CI pode fazer o underclock manualmente da CPU a partir do BIOS, mas eu gostaria que meu PC detectasse quando a temperatura da CPU ficar muito alta e diminuir as coisas até que tudo esfrie. Existe uma maneira de fazer isso de forma automática ou mesmo manual para desacelerar a CPU do ubuntu


2
Enquanto isso, parece uma solicitação de recurso para o Blender. Você pode usar manualmente o Performance Governor e parar os aplicativos manualmente com o monitor do sistema.
usar o seguinte comando

Respostas:


11

Solução Intel Ubuntu 16.04+ para Sandy Bridge e processadores mais recentes

Em ( wiki.debian.org -thermald ), há um artigo do Debian (Ubuntu) sobre o daemon thermald A Linux para resfriar tablets e laptops. Isso funciona apenas para o Sandy Bridge (2ª geração) e os núcleos Intel mais recentes. Depois que a temperatura do sistema atinge um determinado limite, o daemon do Linux ativa vários métodos de resfriamento para tentar resfriar o sistema.

O daemon térmico do Linux (thermald) monitora e controla a temperatura em laptops, tablets PC com a mais recente ponte de areia da Intel e as mais recentes versões da CPU da Intel. Depois que a temperatura do sistema atinge um determinado limite, o daemon do Linux ativa vários métodos de resfriamento para tentar resfriar o sistema.

Opera em dois modos:

Modo de configuração zero

  • Para a maioria dos usuários, isso deve ser suficiente para controlar a temperatura da CPU do sistema. Ele usa o sensor de temperatura DTS e usa o driver de estado Intel P, o driver do grampo de energia, o controle do limite de potência média em execução e o cpufreq como métodos de resfriamento.

Modo de configuração definido pelo usuário

  • Isso permite a configuração do estilo ACPI em um arquivo de configuração XML térmico. Isso pode ser usado para corrigir a configuração do ACPI com erros ou ajustar, adicionando mais sensores e dispositivos de refrigeração. Esse é o primeiro passo na implementação de um controle térmico de loop fechado no modo de usuário e pode ser aprimorado com base nos comentários e sugestões da comunidade.

Como instalar

apt-get install thermald

TLP

No Arch Linux :

O TLP oferece os benefícios do gerenciamento avançado de energia para Linux sem a necessidade de entender todos os detalhes técnicos. O TLP vem com uma configuração padrão já otimizada para a duração da bateria, portanto você pode simplesmente instalar e esquecer. No entanto, o TLP é altamente personalizável para atender a seus requisitos específicos.

Por favor, leia o link completo do Arch Linux TLP acima. Há problemas com a Nvidia que exigem alterações na configuração.

Após muitas tentativas e erros com outros pacotes, tive grande sucesso usando o TLP. Oferece controle superior do ventilador e funciona perfeitamente com estados térmicos e p .

Como essas instruções de instalação para o Ubuntu 15.04+ mencionam, o TLP não apenas reduz o superaquecimento, mas também aumenta a vida útil da bateria.

Desde a instalação do TLP, o Powerclamp (descrito abaixo) nunca foi chamado novamente.


Intel Powerclamp

O driver Powerclamp da Intel é definido aqui ( kernel.org - Intel Power Clamp.txt ) e faz parte do thermald descrito acima. Uma cotação direta do Powerclamp no link:

Considere a situação em que o consumo de energia de um sistema deve ser reduzido em tempo de execução, devido ao orçamento de energia, restrição térmica ou nível de ruído e onde o resfriamento ativo não é o preferido. A redução passiva de energia gerenciada por software deve ser executada para impedir as ações de hardware projetadas para cenários catastróficos.

Atualmente, estados P, estados T (modulação de clock) e off-line da CPU são usados ​​para a otimização da CPU.

Nas CPUs Intel, os estados C fornecem redução efetiva de energia, mas até agora são usados ​​apenas de forma oportunista, com base na carga de trabalho. Com o desenvolvimento do driver intel_powerclamp, foi introduzido o método de sincronização da injeção ociosa em todos os threads da CPU online. O objetivo é obter residência forçada e controlável em estado C.

Testes / análises foram feitos nas áreas de energia, desempenho, escalabilidade e experiência do usuário. Em muitos casos, é mostrada uma clara vantagem em deixar a CPU offline ou em modular o relógio da CPU.


Como você sabe que o Powerclamp está em execução?

O Powerclamp pode aparecer apenas uma vez por ano quando as aberturas dos ventiladores recebem muita poeira e fiapos. Então, como você sabe que ele realmente está sendo executado em segundo plano? Usar:

lsmod | grep intel

E você deve ver uma lista semelhante a esta:

btintel                16384  1 btusb
bluetooth             520192  29 bnep,btbcm,btrtl,btusb,rfcomm,btintel
intel_rapl             20480  0
intel_powerclamp       16384  0
   (.... more intel drivers ....)
snd                    81920  18 snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_hda_codec_idt,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,snd_seq_device

Se você vê intel_raple intel_powerclampsabe que está funcionando, basta esperar que a temperatura exceda os 85 ° C.


Powerclamp em ação exibida por Conky

Aqui está uma captura de tela quando o Powerclamp injeta ciclos de sono:

Injeção Kidie

Normalmente, neste sistema, a velocidade do clock da CPU é de 2400 a 3400 Mhz ao assistir vídeo em HTML5 e 10 abas do Chrome abertas. Normalmente, a utilização da CPU é de 9% a 12% em 8 CPUs. Quando as coisas esquentam demais ( 86C ), o Powerclamp entra em ação e isso acontece:

  • A velocidade da CPU é reduzida para 1200 Mhz.
  • A utilização da CPU aumenta até 80%. Isso é enganoso, porque os 70% extras são tempo de sono.
  • Os 9 principais processos da CPU são geralmente 5 ou 6 processos do Chrome, além de Xorg, Conky, Pulse Audio e ocasionalmente um colaborador. No entanto, agora 8 dos 10 principais são o processo kidle_inject / x , que variax de 0 a 7. Nas 8 primeiras CPUs.

O driver Powerclamp é executado até que a temperatura caia abaixo de 85 ° C novamente. Enquanto o driver estiver em execução, você poderá ter uma pausa em segundos nos seus vídeos e possivelmente um segundo atraso no teclado e no mouse.


Desativar o Intel Turbo Boost

Nos velhos tempos do Ubuntu 14.04, o Intel Turbo Boost estava quebrado, então a velocidade do meu processador flutuou entre 1200 Mhz e 2400 Mhz. Após a atualização para o Ubuntu 16.04, ele chegaria a 3400 Mhz (3,4 Ghz) porque o Turbo Boost estava finalmente funcionando. Mas também aumentou o calor.

Para desativar o Intel Turbo Boost, use:

echo "1" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo

Correção de curto prazo neste cenário

Para "ajudar a curar" esse problema, puxei o velho cooler do laptop com dois ventiladores para fora do armário e coloquei-o embaixo do laptop. Isso reduziu o tempo para 63C sob a mesma carga de trabalho.

O próximo passo será comprimir o ar nas aberturas de ventilação. Depois disso, o passo final será o novo dissipador de calor com tubos para CPU e GPU. Também é necessária uma boa pasta térmica, como o Arctic Silver 5, nessa operação. Um novo ventilador já foi instalado no ano passado e parece estar funcionando bem.

Atualização 25 de janeiro de 2017

As saídas de ventilação dos ventiladores com ar comprimido e as temperaturas caíram de 63C para 56C. Ainda está usando o bloco de resfriamento do laptop, lembre-se.

Atualização 06 de agosto de 2017

TLPEstão em uso (descritos acima) há muitos meses e as temperaturas são constantes em torno de 50 ° C e o desempenho do ventilador é ideal.


Cuidado com muitos drivers de controle de ventilador

Por ser um Dell, instalei o I8K Fan Monitor / Control na esperança de acelerar o ventilador mais cedo e mais rápido. Quando digito sensors, recebo:

$ sensors
dell_smm-virtual-0
Adapter: Virtual device
Processor Fan: 3963 RPM
CPU:            +63.0°C  
Ambient:        +49.0°C  
GPU:            +54.0°C  
Other:          +79.0°C  

acpitz-virtual-0
Adapter: Virtual device
temp1:        +27.8°C  (crit = +106.0°C)
temp2:        +29.8°C  (crit = +106.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +65.0°C  (high = +87.0°C, crit = +105.0°C)
Core 0:         +65.0°C  (high = +87.0°C, crit = +105.0°C)
Core 1:         +64.0°C  (high = +87.0°C, crit = +105.0°C)
Core 2:         +63.0°C  (high = +87.0°C, crit = +105.0°C)
Core 3:         +57.0°C  (high = +87.0°C, crit = +105.0°C)

Ignore as temperaturas virtuais, elas saem para almoçar . No Ubuntu 14.04, eram precisos e eu useitemp 1na tela do Conky. Após a atualização do Ubuntu 16.04, tive que me referir a uma terceira temperatura não exibida nesta tela. Para ver oTEMPS REAL, você pode usar este comando:

$ cat /sys/class/thermal/thermal_zone*/temp
27800
29800
62000

Quando digito:

$ lsmod |grep dell
dell_wmi               16384  0
sparse_keymap          16384  1 dell_wmi
dell_laptop            20480  0
dell_smbios            16384  2 dell_wmi,dell_laptop
dcdbas                 16384  1 dell_smbios
dell_smm_hwmon         16384  0
wmi                    16384  1 dell_wmi
video                  40960  3 dell_wmi,dell_laptop,i915

Eu vejo o dell_smm_hwmonmódulo / driver do kernel. Quando pesquiso no Google esse driver e as I8Kpessoas relatam, os dois drivers causam congelamentos do sistema por uma fração de segundo a cada 10 segundos. Eu estava tendo esse problema, então tive que remover o controle do ventilador I8K .

Existem muitas outras utilidades e metodologias de refrigeração, mas isso está recebendo TL; DR .


Uau, isso é bastante a resposta. Muitas coisas legais aqui.
Qwertie

Eu tenho o thermald instalado, mas como executar o powerclamp? Está sendo executado por padrão? que temperatura está tentando não superar?

@cipricus Quando você usar: $ lsmod | grep powervocê deve ver o seguinte: intel_powerclamp 16384 0. Caso contrário, o Powerclamp pode estar na lista negra por algum motivo. A temperatura limite é 85C, mas acho que você pode alterá-lo. Veja: bugs.launchpad.net/ubuntu/+source/linux/+bug/1389077
WinEunuuchs2Unix

4

Eu criei um programa apenas para esse problema. Limite sua CPU com base na temperatura desejada. É executado assim:

sudo ./temp_throttle.sh 80

Esse comando fará com que os núcleos da CPU sejam mais lentos quando atingirem 80 graus Celsius. Quando a temperatura cai, os núcleos da CPU podem funcionar mais rapidamente novamente. Você pode encontrar temp_throttle aqui .


Para executar o script principal na inicialização com o sudo e digitar a senha no gnome-terminal, pode-se criar um pequeno script:

#!/bin/bash

cd "/path/to/the/directory/temp-throttle-stable/"
gnome-terminal -e 'sudo ./temp_throttle.sh 80' --geometry=45x15 --hide-menubar --profile=hold  

( --geometry=45x15abre uma pequena tela de terminal; --profile=holdusa um perfil do gnome-terminal chamado "hold" que já deve ser criado com a opção "Quando o comando sair: mantenha o terminal aberto", --hide-menubaroculta os menus dessa janela)

Após torná-lo executável, esse pequeno script (vamos chamá-lo temp_throttle_80.sh) pode ser adicionado à lista de inicialização e você será solicitado a digitar a senha na inicialização; então, se a temperatura mencionada for atingida, sua ação será relatada:

insira a descrição da imagem aqui


1
Bom roteiro. Também fiz um script para colocar o pc no modo de suspensão quando atingir uma temperatura máxima. link
kenn

É uma ótima resposta e funciona em 16.04


Scripts que precisam de sudopoderes que ponho no cronuso das rebootopções. Dessa forma, nenhuma senha precisa ser inserida na inicialização. Existem outras maneiras de fazer isso, mas o cron foi o mais fácil para eu configurar.
WinEunuuchs2Unix

Para sua informação, a resposta que eu postei no Intel Powerclamp reduz a CPU para a velocidade mais baixa. No entanto, também injeta estados inativos para fazer a CPU não fazer nada. Acho que seu script é ótimo, mas você pode querer saber o que a Intel está fazendo. Eu acredito que é de código aberto e você pode estudá-lo se estiver interessado.
WinEunuuchs2Unix

1

você pode limitar a frequência da CPU, para diminuir a frequência e controlar o calor da CPU.

cpufreq-selector -f <mention the frq u want in the Khz>

É permanente ou voltará após uma reinicialização?
Qwertie

é um conjunto fixo e se você deseja modificá-lo, novamente você precisa.
rɑːdʒɑ

Você precisa instalar gnome-appletspara que isso funcione
kiri

@ minerz029 este é um comando de terminal, meu amigo.
rɑːdʒɑ

1
@rajagenupula Eu recebo um comando não encontrado erroThe program 'cpufreq-selector' is currently not installed. You can install it by typing: sudo apt-get install gnome-applets
kiri
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.