Eu tenho um Dell XPS 13 (edição para desenvolvedores) comprado há alguns anos no Ubuntu 12.04
Eu atualizei para o Ubuntu 16.04 e desde então notei que meu computador ficou mais lento do que antes em certas tarefas pesadas.
Eu também notei que meu computador ficou muito menos barulhento em tarefas pesadas, e parece que meu I7 Turbo boost não entra em ação.
Enviando trabalho para 4 procs, mostra turbostato:
CPU Avg_MHz %Busy Bzy_MHz TSC_MHz
- 602 100.00 603 2595
0 611 100.00 611 2597
1 594 100.00 595 2594
2 610 100.00 612 2594
3 594 100.00 595 2594
Eu não sou um especialista, mas parece que o turbo não funciona bem?
Como devo fazer isso funcionar? Todas as coisas que encontrei on-line só dizem para usar o turbostato, mas não ajudam a resolver o problema.
Alguma ideia?
Eu uso burnK7
para gerar carga de CPU. Note que no começo a coluna Bzy_MHz
chega perto de 3Ghz, mas estabiliza perto de 1Ghz, isso é normal?
Meu processador: Intel® CPU Core ™ i7-3687U @ 2.10GHz × 4
Ubuntu: Ubuntu 16.04.1 LTS 64 bits
Em telas de carga pesada do i7z:
Ele diz que o modo turbo está habilitado, mas a freqüência é muito baixa, e tenho certeza que para a mesma tarefa (aqui compilando o código Scala) o computador era muito barulhento para a mesma tarefa antes de atualizar o Ubuntu. Por que isso acontece?
Eu desativei thermald
com sudo service thermald stop
Obtenha também a seguinte saída de cpupower
:
cpupower frequency-info
analyzing CPU 0:
driver: intel_pstate
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 0.97 ms.
hardware limits: 800 MHz - 3.30 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 1.98 GHz and 1.98 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 1.10 GHz.
boost state support:
Supported: yes
Active: yes
25500 MHz max turbo 4 active cores
25500 MHz max turbo 3 active cores
25500 MHz max turbo 2 active cores
25500 MHz max turbo 1 active cores
Percebi que frequency should be within 1.98 GHz and 1.98 GHz.
é, na verdade, um intervalo de destino em movimento e pode ser afetado por thermald
start / stops.
Agora obtenho um resultado estranho:
current policy: frequency should be within 3.30 GHz and 3.30 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 800 MHz.
Observe que os valores em arquivos como /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
parecem estar constantemente mudando
Algumas saídas extras de turbostato.
O primeiro está no início de uma fase de carregamento. No começo, a frequência é alta.
$ sudo turbostat --debug sleep 10
turbostat version 4.8 26-Sep, 2015 - Len Brown <[email protected]>
CPUID(0): GenuineIntel 13 CPUID levels; family:model:stepping 0x6:3a:9 (6:58:9)
CPUID(6): APERF, DTS, PTM, EPB
RAPL: 3855 sec. Joule Counter Range, at 17 Watts
cpu2: MSR_PLATFORM_INFO: 0x80815f0011a00
8 * 100 = 800 MHz max efficiency frequency
26 * 100 = 2600 MHz base frequency
cpu2: MSR_IA32_POWER_CTL: 0x0014005d (C1E auto-promotion: DISabled)
cpu2: MSR_TURBO_RATIO_LIMIT: 0x1f1f1f21
31 * 100 = 3100 MHz max turbo 4 active cores
31 * 100 = 3100 MHz max turbo 3 active cores
31 * 100 = 3100 MHz max turbo 2 active cores
33 * 100 = 3300 MHz max turbo 1 active cores
cpu2: MSR_CONFIG_TDP_NOMINAL: 0x00000015 (base_ratio=5)
cpu2: MSR_CONFIG_TDP_LEVEL_1: 0x00080070 (PKG_MIN_PWR_LVL1=0 PKG_MAX_PWR_LVL1=0 LVL1_RATIO=8 PKG_TDP_LVL1=112)
cpu2: MSR_CONFIG_TDP_LEVEL_2: 0x001a00c8 (PKG_MIN_PWR_LVL2=0 PKG_MAX_PWR_LVL2=0 LVL2_RATIO=10 PKG_TDP_LVL2=200)
cpu2: MSR_CONFIG_TDP_CONTROL: 0x00000000 ( lock=0)
cpu2: MSR_TURBO_ACTIVATION_RATIO: 0x00000014 (MAX_NON_TURBO_RATIO=20 lock=0)
cpu2: MSR_NHM_SNB_PKG_CST_CFG_CTL: 0x1e008405 (UNdemote-C3, UNdemote-C1, demote-C3, demote-C1, locked: pkg-cstate-limit=5: pc7s)
cpu0: MSR_IA32_ENERGY_PERF_BIAS: 0x00000006 (balanced)
cpu0: MSR_RAPL_POWER_UNIT: 0x000a1003 (0.125000 Watts, 0.000015 Joules, 0.000977 sec.)
cpu0: MSR_PKG_POWER_INFO: 0x00000088 (17 W TDP, RAPL 0 - 0 W, 0.000000 sec.)
cpu0: MSR_PKG_POWER_LIMIT: 0x800080fa00dc80c8 (locked)
cpu0: PKG Limit #1: ENabled (25.000000 Watts, 28.000000 sec, clamp DISabled)
cpu0: PKG Limit #2: ENabled (31.250000 Watts, 0.000977* sec, clamp DISabled)
cpu0: MSR_PP0_POLICY: 0
cpu0: MSR_PP0_POWER_LIMIT: 0x80000000 (locked)
cpu0: Cores Limit: DISabled (0.000000 Watts, 0.000977 sec, clamp DISabled)
cpu0: MSR_PP1_POLICY: 0
cpu0: MSR_PP1_POWER_LIMIT: 0x80000000 (locked)
cpu0: GFX Limit: DISabled (0.000000 Watts, 0.000977 sec, clamp DISabled)
cpu0: MSR_IA32_TEMPERATURE_TARGET: 0x00691200 (105 C)
cpu0: MSR_IA32_PACKAGE_THERM_STATUS: 0x880a0908 (95 C)
cpu0: MSR_IA32_THERM_STATUS: 0x880c0008 (93 C +/- 1)
cpu2: MSR_IA32_THERM_STATUS: 0x880a0008 (95 C +/- 1)
Core CPU Avg_MHz %Busy Bzy_MHz TSC_MHz SMI CPU%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 Pkg%pc7 PkgWatt CorWatt GFXWatt
- - 1900 79.17 2406 2594 0 15.12 0.11 0.00 5.60 93 93 0.00 0.00 0.00 0.00 10.51 6.86 0.37
0 0 1893 78.90 2405 2594 1 16.29 0.16 0.00 4.65 89 93 0.00 0.00 0.00 0.00 10.51 6.86 0.37
0 1 2016 84.01 2406 2594 1 11.18
1 2 1982 82.61 2405 2594 1 10.78 0.06 0.00 6.55 93
1 3 1710 71.16 2408 2594 1 22.23
10.001067 sec
O segundo é depois de um tempo sob carga: a diminuição da frequência:
$ sudo turbostat --debug sleep 10
turbostat version 4.8 26-Sep, 2015 - Len Brown <[email protected]>
CPUID(0): GenuineIntel 13 CPUID levels; family:model:stepping 0x6:3a:9 (6:58:9)
CPUID(6): APERF, DTS, PTM, EPB
RAPL: 3855 sec. Joule Counter Range, at 17 Watts
cpu2: MSR_PLATFORM_INFO: 0x80815f0011a00
8 * 100 = 800 MHz max efficiency frequency
26 * 100 = 2600 MHz base frequency
cpu2: MSR_IA32_POWER_CTL: 0x0014005d (C1E auto-promotion: DISabled)
cpu2: MSR_TURBO_RATIO_LIMIT: 0x1f1f1f21
31 * 100 = 3100 MHz max turbo 4 active cores
31 * 100 = 3100 MHz max turbo 3 active cores
31 * 100 = 3100 MHz max turbo 2 active cores
33 * 100 = 3300 MHz max turbo 1 active cores
cpu2: MSR_CONFIG_TDP_NOMINAL: 0x00000015 (base_ratio=5)
cpu2: MSR_CONFIG_TDP_LEVEL_1: 0x00080070 (PKG_MIN_PWR_LVL1=0 PKG_MAX_PWR_LVL1=0 LVL1_RATIO=8 PKG_TDP_LVL1=112)
cpu2: MSR_CONFIG_TDP_LEVEL_2: 0x001a00c8 (PKG_MIN_PWR_LVL2=0 PKG_MAX_PWR_LVL2=0 LVL2_RATIO=10 PKG_TDP_LVL2=200)
cpu2: MSR_CONFIG_TDP_CONTROL: 0x00000000 ( lock=0)
cpu2: MSR_TURBO_ACTIVATION_RATIO: 0x00000014 (MAX_NON_TURBO_RATIO=20 lock=0)
cpu2: MSR_NHM_SNB_PKG_CST_CFG_CTL: 0x1e008405 (UNdemote-C3, UNdemote-C1, demote-C3, demote-C1, locked: pkg-cstate-limit=5: pc7s)
cpu0: MSR_IA32_ENERGY_PERF_BIAS: 0x00000006 (balanced)
cpu0: MSR_RAPL_POWER_UNIT: 0x000a1003 (0.125000 Watts, 0.000015 Joules, 0.000977 sec.)
cpu0: MSR_PKG_POWER_INFO: 0x00000088 (17 W TDP, RAPL 0 - 0 W, 0.000000 sec.)
cpu0: MSR_PKG_POWER_LIMIT: 0x800080fa00dc80c8 (locked)
cpu0: PKG Limit #1: ENabled (25.000000 Watts, 28.000000 sec, clamp DISabled)
cpu0: PKG Limit #2: ENabled (31.250000 Watts, 0.000977* sec, clamp DISabled)
cpu0: MSR_PP0_POLICY: 0
cpu0: MSR_PP0_POWER_LIMIT: 0x80000000 (locked)
cpu0: Cores Limit: DISabled (0.000000 Watts, 0.000977 sec, clamp DISabled)
cpu0: MSR_PP1_POLICY: 0
cpu0: MSR_PP1_POWER_LIMIT: 0x80000000 (locked)
cpu0: GFX Limit: DISabled (0.000000 Watts, 0.000977 sec, clamp DISabled)
cpu0: MSR_IA32_TEMPERATURE_TARGET: 0x00691200 (105 C)
cpu0: MSR_IA32_PACKAGE_THERM_STATUS: 0x881b0908 (78 C)
cpu0: MSR_IA32_THERM_STATUS: 0x881e0008 (75 C +/- 1)
cpu2: MSR_IA32_THERM_STATUS: 0x881b0008 (78 C +/- 1)
Core CPU Avg_MHz %Busy Bzy_MHz TSC_MHz SMI CPU%c1 CPU%c3 CPU%c6 CPU%c7 CoreTmp PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 Pkg%pc7 PkgWatt CorWatt GFXWatt
- - 30 2.79 1091 2594 0 6.92 0.30 0.00 89.99 70 71 1.60 0.03 1.48 47.85 3.65 0.71 0.29
0 0 22 1.97 1133 2594 0 6.34 0.12 0.00 91.58 70 71 1.60 0.03 1.48 47.85 3.65 0.71 0.29
0 1 38 3.09 1224 2594 0 5.22
1 2 25 2.45 1016 2594 0 8.67 0.47 0.00 88.40 70
1 3 37 3.67 1006 2594 0 7.45
10.001501 sec
No início da fase de carga, parece que minhas CPUs podem ficar muito quentes, perto de 105 °, que é a temperatura de junção das CPUs, e então um sistema impede que elas se cozinhem e diminuam significativamente a frequência para um mínimo .
Eu gostaria de ter um processador menos quente em carga pesada e, quando estiver ficando quente, diminuir menos significativamente o processador. Isso é possível?
Problemas relacionados que abri para resolver meu problema (pode conter informações adicionais não mencionadas aqui que podem ser úteis)