
Instalei o kubuntu 14.04 e há algum problema com a frequência turbo da CPU. Eu li muito sobre isso, mas não consigo encontrar a resposta correta.
Há uma CPU i7-3630QM a 2,40 GHz com turbo de 3,20 GHz no meu notebook Lenovo Y580. Se eu colocar a CPU em plena carga (com renderização no liquidificador em 8 threads) a frequência salta para cerca de 3,2 GHz para todos os núcleos, mas depois de alguns segundos, quando a temperatura sobe, a frequência diminui para 2,4 GHz, e permanece nela durante a renderização (o ventilador não funciona na velocidade máxima).
Quando usei o Ubuntu 12.10 esse problema não ocorreu, mas ocorre em 13.10 e 14.04.
O cooler do meu notebook é muito bom, então não há problema de superaquecimento com o turbo boost de velocidade total (a temperatura da CPU era de 85-90 ° C a 3,2 GHz no Ubuntu 12.10), então quero usá-lo em velocidade máxima. Como posso usar a CPU com turbo boost na velocidade total de 3,2 GHz no Ubuntu 14.04 sem esse limite (de temperatura?)?
(depois de discutir com terdon) Acho que o problema é que a frequência da CPU é reduzida antes que o ventilador possa responder à alta temperatura. APÓS a redução da CPU de 3,2 GHz para 2,4 GHz, a ventoinha gira por um momento, mas como a cpufreq já foi reduzida, ela gera menos calor, então a rotação da ventoinha diminui. Estaria tudo bem se, após o resfriamento da CPU, a frequência aumentasse novamente para 3,2 GHz, mas permanecesse em 2,4 GHz.
Algumas medidas:
Saída do programa i7z, quando a renderização acabou de começar:
Cpu speed from cpuinfo 2394.00Mhz
cpuinfo might be wrong if cpufreq is enabled. To guess correctly try estimating via tsc
Linux's inbuilt cpu_khz code emulated now
True Frequency (without accounting Turbo) 2394 MHz
CPU Multiplier 24x || Bus clock frequency (BCLK) 99.75 MHz
Socket [0] - [physical cores=4, logical cores=8, max online cores ever=4]
TURBO ENABLED on 4 Cores, Hyper Threading ON
Max Frequency without considering Turbo 2493.75 MHz (99.75 x [25])
Max TURBO Multiplier (if Enabled) with 1/2/3/4 Cores is 34x/33x/32x/32x
Real Current Frequency 3192.01 MHz [99.75 x 32.00] (Max of below)
Core [core-id] :Actual Freq (Mult.) C0% Halt(C1)% C3 % C6 % C7 % Temp
Core 1 [0]: 3191.98 (32.00x) 100 0 0 0 0 83
Core 2 [2]: 3192.01 (32.00x) 99.8 0 0 0 1 92
Core 3 [4]: 3192.00 (32.00x) 100 0 0 0 0 88
Core 4 [6]: 3192.00 (32.00x) 100 0 0 0 0 76
...
E 5 a 10 segundos depois (também com carga total):
Cpu speed from cpuinfo 2394.00Mhz
cpuinfo might be wrong if cpufreq is enabled. To guess correctly try estimating via tsc
Linux's inbuilt cpu_khz code emulated now
True Frequency (without accounting Turbo) 2394 MHz
CPU Multiplier 24x || Bus clock frequency (BCLK) 99.75 MHz
Socket [0] - [physical cores=4, logical cores=8, max online cores ever=4]
TURBO ENABLED on 4 Cores, Hyper Threading ON
Max Frequency without considering Turbo 2493.75 MHz (99.75 x [25])
Max TURBO Multiplier (if Enabled) with 1/2/3/4 Cores is 34x/33x/32x/32x
Real Current Frequency 2462.52 MHz [99.75 x 24.69] (Max of below)
Core [core-id] :Actual Freq (Mult.) C0% Halt(C1)% C3 % C6 % C7 % Temp
Core 1 [0]: 2394.01 (24.00x) 100 0 0 0 0 65
Core 2 [2]: 2394.00 (24.00x) 100 0 0 0 0 74
Core 3 [4]: 2462.43 (24.69x) 100 0 0 0 0 71
Core 4 [6]: 2462.52 (24.69x) 99.9 0 0 0 0 61
...
Agradecemos antecipadamente pelas respostas.
Responder1
Isso não é um bug, é um recurso! Verifique suas temperaturas, a única razão pela qual a velocidade da CPU diminui é porque você está superaquecendo. Veja a primeira saída que você mostra, você tem um de seus núcleos rodando a 92°C! Para começar, isso é muito quente e provavelmente aumentou ainda mais antes de a velocidade do clock ser reduzida.
Você pode verificar a temperatura máxima que sua CPU pode suportarcorrendosensors
. Por exemplo, para meu Intel i7:
$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +77.0°C (high = +95.0°C, crit = +105.0°C)
Core 2: +79.0°C (high = +95.0°C, crit = +105.0°C)
Portanto, na minha máquina, 95,0°C é considerado alto e 105°C é a temperatura crítica na qual a máquina será desligada. Suas especificações podem ser um pouco diferentes, mas 92,0°C é definitivamente alto.
Agora vocêpodeforçar sua CPU a manter a mesma velocidade de clock. Isso é controlado pelo governador da CPU. Você provavelmente o definiu como ondemand
, mas as seguintes opções estão disponíveis:
- Desempenhomantém a CPU na frequência mais alta possível
- Economia de energiamantém a CPU na frequência mais baixa possível
- Espaço do usuárioexporta as informações de frequência disponíveis para o nível do usuário (através do sistema de arquivos /sys) e permite o controle do espaço do usuário da frequência da CPU
- Sob demandadimensiona as frequências da CPU de acordo com o uso da CPU (como fazem os daemons de escalonamento de frequência do espaço do usuário, mas no kernel)
- Conservadoratua como o ondemand, mas aumenta a frequência passo a passo
Para alterar seu governador para, por exemplo, "Desempenho", execute isto:
echo "performance" | sudo tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
No entanto, o resultado provável será simplesmente que o computador será desligado quando as altas temperaturas forem atingidas. Também pode ser reduzido, não tenho certeza de como os recursos de segurança são implementados. De qualquer forma, o ponto principal é quevocê não quer fazer isso porque pode danificar seriamente o seu hardware.
Existem boas razões pelas quais o seu computador não permite que você ultrapasse certas temperaturas e você não quer estragar isso. Não conheço nenhuma maneira de desativar o limite de temperatura e não contaria se o fizesse. Existem maneiras mais fáceis, mas desabilitar os limites de segurança de temperatura é certamente uma boa maneira de destruir seu computador.
Responder2
Depois de uma longa pesquisa, encontro a resposta para minha pergunta nesta página: http://www.webupd8.org/2014/04/prevent-your-laptop-from-overheating.html
O velho acpi-cpufreq
não consegue controlar bem o turbo boost, mas intel_pstate
o motorista thermald
consegue. Eu habilitei intel_pstate
e instalei thermald
. Agora a CPU pode funcionar no modo turbo boost, em 3,2 GHz quase continuamente. Isso significa cerca de 25-30% de desempenho adicional durante a renderização no liquidificador.
Infelizmente, isso também significa mais calor, então a temperatura do núcleo da minha CPU gira em torno de 90-100°C e às vezes se acelera. Então, Tredon, você estava certo, eu deveria limpar o ventilador. :)
Na página da Intel 105 °C é a temperatura máxima de junção do meu CPU, acima dela o afogamento térmico está ativado, então não preciso me preocupar com superaquecimento do CPU.
Infelizmente não consigo encontrar nenhum exemplo útil para configurar e usar thermald
, então deixo as opções padrão, mas pelo que li pode ajudar muito na refrigeração.