Todos os 8 núcleos com 100% de uso, mas a frequência não é máxima?

0

Estou compilando algo com -j64 para permitir o multiprocessamento (88 foi recomendado, mas senti que era muito alto).

Todos os meus núcleos são consistentemente 100% de uso, no entanto a frequência do processador não está atingindo seu máximo quando eu olho no lscpu:

CPU MHz:               3123.046
CPU max MHz:           3900.0000
CPU min MHz:           800.0000

Isso está em um laptop da Dell - existe um sistema de gerenciamento de energia (eu não fiz powertop ou qualquer coisa) que esteja limitando os núcleos, ou isso é apenas sobrecarga de E / S que impede que a CPU tenha dados? / p>

Edit: este é um Intel(R) Core(TM) i7-7820HQ (lscpu diz @ 2.90GHz )

    
por Brydon Gibson 17.09.2018 / 15:03

1 resposta

2

A velocidade de 3900 MHz que você citou é a frequência máxima "turbo" e não algo que pode ser sustentado em todos os casos de uso.

De site da Intel :

Max Turbo Frequency refers to the maximum single-core processor frequency that can be achieved with Intel® Turbo Boost Technology.

E:

Availability and frequency upside of Intel® Turbo Boost Technology 2.0 state depends upon a number of factors including, but not limited to, the following:

  • Type of workload
  • Number of active cores
  • Estimated current consumption
  • Estimated power consumption
  • Processor temperature

Como você está utilizando todos os núcleos, o processador mantém todos ativos, o que gera muito calor e usa muita energia, de modo que não pode rodar na freqüência total de 3900MHz. Se você executou a compilação como um processo de encadeamento único, pode esperar ver frequências mais altas à medida que aumenta um único núcleo (a menos que o resfriamento do seu laptop não consiga lidar com isso).

    
por 17.09.2018 / 17:12

Tags