No meu sistema toda vez que sensors
é executado, há uma falha na transmissão de vídeo. Tendo isso acontecer a cada 10 segundos ou no entanto o roteiro proposto é executado me deixaria louco. Uma solução melhor para suspender seria usar thermald da Intel e Powerclamp para desacelerar a CPU para reduzir o calor . Eu escrevi esta resposta para outra pergunta ( Parar cpu de superaquecimento ) e estou copiando aqui por conveniência.
Além disso, o script acima depende de temp1
, que é frequentemente corrompido no meu Ubuntu 16.04 e apenas temp3
é 100% confiável, o que não aparece em sensors
. ou seja:
$ cat /sys/class/thermal/thermal_zone*/temp
27800
29800
58000
e de sensors
:
acpitz-virtual-0
Adapter: Virtual device
temp1: +27.8°C (crit = +106.0°C)
temp2: +29.8°C (crit = +106.0°C)
Isso acontece depois da suspensão / retomada. A temperatura REAL é + 58,0 ° C, mas é falsamente relatada como + 27,8 ° C após a retomada. Assim, a proteção contra o calor só funcionaria uma vez para suspender e nunca mais funcionar até a reinicialização. Assim, o sistema atingiria crítico (+ 106.0 ° C), ponto no qual um desligamento total é executado e os dados podem ser corrompidos.
Então, aqui está minha solução recomendada para evitar o superaquecimento e a utilização de lentidão da CPU, em vez de suspender completamente o sistema.
Reduza a velocidade da CPU para reduzir o calor
Isso funciona para o Ubuntu 16.04+ com o Intel Sandy Bridge e processadores mais recentes.
De ( wiki.debian.org -thermald ) é o Debian (usado pelo Ubuntu) escreve sobre thermald , um daemon do Linux para resfriamento de tablets e laptops. Quando a temperatura do sistema atinge um certo limite, o daemon do Linux ativa vários métodos de resfriamento para resfriar o sistema.
O Linux thermal daemon (thermal) monitora e controla a temperatura em laptops, tablets com o mais recente Intel Sandy Bridge e as mais recentes versões da CPU da Intel. Quando a temperatura do sistema atinge um certo limite, o daemon do Linux ativa vários métodos de resfriamento para tentar resfriar o sistema.
Ele 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. Isso usa o sensor de temperatura DTS e usa o driver de estado Intel P, o driver de braçadeira de potência, o controle de Limite de potência médio em operação e o cpufreq como métodos de resfriamento.
Modo de configuração definido pelo usuário
- Isso permite a configuração do estilo da ACPI em um arquivo de configuração XML térmico. Isso pode ser usado para consertar a configuração ou ajuste fino da ACPI, adicionando mais sensores e dispositivos de resfriamento. Este é um primeiro passo na implementação de um controle térmico de loop fechado no modo de usuário e pode ser aprimorado com base no feedback e nas sugestões da comunidade.
Como instalar
apt-get install thermald
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 para 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 a orçamento de energia, restrição térmica ou ruído
nível, e onde o resfriamento ativo não é o preferido. Software gerenciado
redução de potência passiva deve ser executada para evitar o
ações projetadas para cenários catastróficos.
Atualmente, estados P, estados T (modulação de relógio) e delineamento de CPU
são usados para otimização da CPU.
Nos processadores Intel, os estados C fornecem redução efetiva de energia, mas até agora
eles são usados apenas oportunisticamente, com base na carga de trabalho. Com o
desenvolvimento do driver intel_powerclamp, o método de sincronização
a injeção inativa em todos os encadeamentos de CPU on-line foi introduzida. O objetivo
é alcançar a residência de estado C forçada e controlável.
Teste / Análise foi feito nas áreas de energia, desempenho,
escalabilidade e experiência do usuário. Em muitos casos, a vantagem clara é
mostrado ao colocar a CPU offline ou modulando o clock da CPU.
Como você sabe que o Powerclamp está funcionando?
O Powerclamp só pode ser exibido uma vez por ano quando as ventoinhas do ventilador ficam muito empoeiradas & amp; lint. Então, como você sabe que está realmente rodando em segundo plano? Use:
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ê vir intel_rapl
e intel_powerclamp
, sabe que está funcionando e simplesmente espera que os temporários excedam 85ºC.
Powerclamp em ação exibido por Conky
Aqui está uma captura de tela quando o Powerclamp injeta ciclos de sono:
Normalmente, neste sistema, a velocidade do clock da CPU é de 2400 Mhz a 3400 Mhz ao assistir vídeo HTML5 e 10 abas do Chrome abertas. Normalmente, a utilização da CPU é de cerca de 9% a 12% em 8 CPUs. Quando as coisas ficam muito quentes ( 86C ) Powerclamp entra em ação e isso acontece:
- A velocidade da CPU é reduzida para 1200 Mhz.
- A utilização da CPU atinge até 80%. Isso é enganoso, porque o acréscimo de 70% é o tempo de dormir.
- Os 9 principais processos da CPU normalmente são 5 ou 6 processos do Chrome, além de Xorg, Conky, Pulse Audio e um kworker ocasional. No entanto, agora 8 dos 10 principais são o processo kidle_inject / x , em que
x
é de 0 a 7. Nas primeiras 8 CPUs.
O driver Powerclamp é executado até que os temporários caiam abaixo de 85ºC novamente. Enquanto o driver está em execução, você pode dividir a segunda pausa nos seus vídeos e, possivelmente, dividir o segundo e o atraso do mouse.
Desativar o Intel Turbo Boost
De volta aos "dias antigos e legais" do Ubuntu 14.04, o Intel Turbo Boost foi quebrado, então minha velocidade do processador oscilou entre 1200 Mhz e 2400 Mhz. Após a atualização para o Ubuntu 16.04, ele aumentaria para 3400 Mhz (3,4 Ghz), porque o Turbo Boost estava finalmente funcionando. Mas também elevou o calor.
Para desativar o uso do Intel Turbo Boost:
echo "1" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo