AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 1256619
Accepted
Paul Jurczak
Paul Jurczak
Asked: 2020-07-06 12:16:06 +0800 CST2020-07-06 12:16:06 +0800 CST 2020-07-06 12:16:06 +0800 CST

Problema com frequências fixas usando a extensão CPUFreq Gnome

  • 772

Instalei a extensão CPUFreq Gnome em dois PCs diferentes com o Ubuntu 18.04. Um tem um Haswell o outro CPU Skylake. Eu defino as frequências mínima e máxima para serem iguais e desative o Reforço de frequência. Os PCs são bem resfriados e a temperatura da CPU está abaixo de 40 graus. C. A frequência no sistema Haswell permanece muito estável com quedas ocasionais inferiores a 1%, mas diminui regularmente alguns por cento no sistema Skylake, ocasionalmente até 10%:

insira a descrição da imagem aqui

O terminal acima mostra a saída de watch grep \"cpu MHz\" /proc/cpuinfo.

Existe alguma coisa que eu possa fazer para torná-lo mais estável?

power-management gnome cpu
  • 1 1 respostas
  • 550 Views

1 respostas

  • Voted
  1. Best Answer
    Doug Smythies
    2020-07-06T12:59:25+08:002020-07-06T12:59:25+08:00

    O processador diminuirá a frequência da CPU por si só, se a carga for baixa o suficiente, mesmo com o mínimo e o máximo definidos no nível mais alto. Você não deve notar o desempenho sábio. No entanto, se isso realmente importa, a única maneira que conheço de bloquear as frequências da CPU no máximo é desabilitar todos os estados ociosos mais profundos que 0, mas ao custo de uma tremenda quantidade de energia.

    Então, para configurações padrão normais:

    doug@s18:~/c$ grep . /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver:intel_pstate
    /sys/devices/system/cpu/cpu1/cpufreq/scaling_driver:intel_pstate
    /sys/devices/system/cpu/cpu2/cpufreq/scaling_driver:intel_pstate
    /sys/devices/system/cpu/cpu3/cpufreq/scaling_driver:intel_pstate
    /sys/devices/system/cpu/cpu4/cpufreq/scaling_driver:intel_pstate
    /sys/devices/system/cpu/cpu5/cpufreq/scaling_driver:intel_pstate
    doug@s18:~/c$ grep . /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor:powersave
    /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor:powersave
    /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor:powersave
    /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor:powersave
    /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor:powersave
    /sys/devices/system/cpu/cpu5/cpufreq/scaling_governor:powersave
    

    você obteria algo assim para cargas leves:

    doug@s18:~/c$ grep . /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq:800229
    /sys/devices/system/cpu/cpu1/cpufreq/scaling_cur_freq:800287
    /sys/devices/system/cpu/cpu2/cpufreq/scaling_cur_freq:800174
    /sys/devices/system/cpu/cpu3/cpufreq/scaling_cur_freq:800286
    /sys/devices/system/cpu/cpu4/cpufreq/scaling_cur_freq:800049
    /sys/devices/system/cpu/cpu5/cpufreq/scaling_cur_freq:800188
    

    agora, faça as alterações, como você fez:

    doug@s18:~/c$ echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
    performance
    doug@s18:~/c$ grep . /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor:performance
    /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor:performance
    /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor:performance
    /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor:performance
    /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor:performance
    /sys/devices/system/cpu/cpu5/cpufreq/scaling_governor:performance
    doug@s18:~/c$ grep . /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq:3987126
    /sys/devices/system/cpu/cpu1/cpufreq/scaling_cur_freq:4600628
    /sys/devices/system/cpu/cpu2/cpufreq/scaling_cur_freq:2559618
    /sys/devices/system/cpu/cpu3/cpufreq/scaling_cur_freq:4600104
    /sys/devices/system/cpu/cpu4/cpufreq/scaling_cur_freq:4601383
    /sys/devices/system/cpu/cpu5/cpufreq/scaling_cur_freq:4600459
    doug@s18:~/c$ echo 1 | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
    1
    doug@s18:~/c$ grep . /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq:3700405
    /sys/devices/system/cpu/cpu1/cpufreq/scaling_cur_freq:3700291
    /sys/devices/system/cpu/cpu2/cpufreq/scaling_cur_freq:3700381
    /sys/devices/system/cpu/cpu3/cpufreq/scaling_cur_freq:3700612
    /sys/devices/system/cpu/cpu4/cpufreq/scaling_cur_freq:3701802
    /sys/devices/system/cpu/cpu5/cpufreq/scaling_cur_freq:3700702
    

    Na verdade, surpreendentemente estável. E a energia ainda é baixa:

    doug@s18:~/c$ sudo ~/turbostat --Summary --quiet --show Busy%,Bzy_MHz,PkgTmp,PkgWatt,GFXWatt,IRQ --interval 6
    Busy%   Bzy_MHz IRQ     PkgTmp  PkgWatt GFXWatt
    0.01    3689    196     30      1.91    0.00
    0.01    3700    90      30      1.90    0.00
    0.01    3667    142     30      1.91    0.00
    0.01    3701    93      30      1.91    0.00
    0.01    3620    119     30      1.89    0.00
    0.01    3648    118     30      1.88    0.00
    0.01    3603    147     30      1.86    0.00
    0.00    3701    85      30      1.77    0.00
    0.01    3700    102     30      1.84    0.00
    

    No entanto, se você quiser ainda mais estável em 3,7 GHz, desative os estados ociosos profundos, de modo que o processador nunca fique ocioso (estado ocioso 0, ou pesquisa, não está realmente ocioso):

    doug@s18:~/idle/perf/results/a04$ echo 1 | sudo tee /sys/devices/system/cpu/cpu*/cpuidle/state8/disable
    1
    doug@s18:~/idle/perf/results/a04$ echo 1 | sudo tee /sys/devices/system/cpu/cpu*/cpuidle/state7/disable
    1
    doug@s18:~/idle/perf/results/a04$ echo 1 | sudo tee /sys/devices/system/cpu/cpu*/cpuidle/state6/disable
    1
    doug@s18:~/idle/perf/results/a04$ echo 1 | sudo tee /sys/devices/system/cpu/cpu*/cpuidle/state5/disable
    1
    doug@s18:~/idle/perf/results/a04$ echo 1 | sudo tee /sys/devices/system/cpu/cpu*/cpuidle/state4/disable
    1
    doug@s18:~/idle/perf/results/a04$ echo 1 | sudo tee /sys/devices/system/cpu/cpu*/cpuidle/state3/disable
    1
    doug@s18:~/idle/perf/results/a04$ echo 1 | sudo tee /sys/devices/system/cpu/cpu*/cpuidle/state2/disable
    1
    doug@s18:~/idle/perf/results/a04$ echo 1 | sudo tee /sys/devices/system/cpu/cpu*/cpuidle/state1/disable
    

    E agora as frequências da CPU estão bloqueadas, a energia não é terrível, principalmente porque o turbo está desabilitado (o turbostat, com a configuração que usei, não distingue entre estado ocioso 0 e muito ocupado):

    doug@s18:~/c$ sudo ~/turbostat --Summary --quiet --show Busy%,Bzy_MHz,PkgTmp,PkgWatt,GFXWatt,IRQ --interval 6
    Busy%   Bzy_MHz IRQ     PkgTmp  PkgWatt GFXWatt
    100.26  3700    36069   36      21.66   0.00
    100.26  3700    36072   36      21.70   0.00
    100.26  3700    36065   36      21.66   0.00
    100.26  3700    36079   36      21.89   0.00
    100.26  3700    36070   36      21.65   0.00
    100.26  3700    36101   36      21.80   0.00
    100.26  3700    36072   37      21.74   0.00
    

    Como nota lateral, o poder para o trabalho real será maior:

    doug@s18:~/idle/perf/results/a04$ sudo ~/turbostat --Summary --quiet --show Busy%,Bzy_MHz,PkgTmp,PkgWatt,GFXWatt,IRQ --interval 6
    Busy%   Bzy_MHz IRQ     PkgTmp  PkgWatt GFXWatt
    100.26  3700    36169   55      72.08   0.00
    100.26  3700    36260   55      71.96   0.00
    100.26  3700    36074   55      71.97   0.00
    100.26  3700    36082   55      71.99   0.00
    100.26  3700    36080   56      72.03   0.00
    

    Os exemplos para esta resposta foram feitos com Intel(R) Core(TM) i5-9600K CPU @ 3.70GHz. Os leitores podem ter um número diferente de estados ociosos, dependendo do processador.

    Para habilitar todos os estados ociosos novamente, após o trabalho de teste:

    doug@s18:~/idle/perf/results/a04$ echo 0 | sudo tee /sys/devices/system/cpu/cpu*/cpuidle/state*/disable
    

    E depois verifique:

    doug@s18:~/idle/perf/results/a04$ grep . /sys/devices/system/cpu/cpu*/cpuidle/state*/disable
    /sys/devices/system/cpu/cpu0/cpuidle/state0/disable:0
    /sys/devices/system/cpu/cpu0/cpuidle/state1/disable:0
    /sys/devices/system/cpu/cpu0/cpuidle/state2/disable:0
    ...
    /sys/devices/system/cpu/cpu5/cpuidle/state6/disable:0
    /sys/devices/system/cpu/cpu5/cpuidle/state7/disable:0
    /sys/devices/system/cpu/cpu5/cpuidle/state8/disable:0
    
    • 1

relate perguntas

  • Como fazer com que a mensagem "Sua bateria está quebrada" desapareça?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve