Почему частота процессора ниже под нагрузкой, чем в режиме ожидания?

У меня есть новый сервер Ubuntu 18.04 на процессоре i9-9900KF, на котором я хотел бы провести тяжелые вычисления. Поскольку он имеет 16 потоков, я переключил все 16 /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor в режим производительности и остановил службу ondemand с помощью sudo systemctl disable ondemand, чтобы она зависала после перезагрузки (так и есть).

Результат удивителен. Перед изменением (при ограничителе энергосбережения) частоты на холостом ходу составляют 800 МГц (как ожидается, согласно значению scaling_min_freq) и 4700 МГц под нагрузкой (значение scaling_max_freq равно 5000000).

После изменения частота холостого хода, как и ожидалось, составляет 5000 МГц, но под нагрузкой она снова составляет 4700 МГц ...? Таким образом, под нагрузкой не имеет значения, какое значение имеет регулятор, но с регулятором производительности частота холостого хода еще выше.

Что может быть причиной этого? Мой блок питания должен работать на 600 Вт, и у меня ничего нет, кроме материнской платы, водяного кулера с двумя вентиляторами, M2 SSD и корпуса с 4 вентиляторами (поэтому я не думаю, что здесь должна быть проблема с питанием ...?).

0
задан 12 September 2019 в 10:25

2 ответа

Как правило, максимальная частота тактовой частоты ЦП является функцией того, сколько ядер активно.

турбостат Использования (linux-tools-common пакет), чтобы читать и декодировать регистр MSR_TURBO_RATIO_LIMIT. Пример (отредактированный, 4 основных процессора):

$ sudo turbostat
...
cpu3: MSR_TURBO_RATIO_LIMIT: 0x23242526
35 * 100.0 = 3500.0 MHz max turbo 4 active cores
36 * 100.0 = 3600.0 MHz max turbo 3 active cores
37 * 100.0 = 3700.0 MHz max turbo 2 active cores
38 * 100.0 = 3800.0 MHz max turbo 1 active cores
...

Примечание: Ваш процессор является довольно новым, я не знаю, знает ли версия дистрибутива турбостата это. Восходящая версия, я вполне уверен.

На основе комментариев, температура могла бы теперь быть беспокойством. Для наблюдения попробуйте это:

doug@s15:~$ sudo turbostat --quiet --Summary --show Busy%,Bzy_MHz,PkgTmp,PkgWatt,GFXWatt,IRQ --interval 15
Busy%   Bzy_MHz IRQ     PkgTmp  PkgWatt GFXWatt
0.03    1600    767     26      3.70    0.12
0.04    1600    778     26      3.70    0.12
0.06    1627    1138    25      3.71    0.12
37.28   3495    45585   47      23.90   0.12  <<< Load applied
100.00  3500    120635  53      58.51   0.12  <<< Observe CPU freq pinned at 4 core limit
100.00  3500    120604  57      59.28   0.12  <<< Observe processor package temperature rising
100.00  3500    120598  62      59.96   0.12
100.00  3500    120646  65      60.96   0.12
100.00  3500    120603  69      61.53   0.12
100.00  3500    120603  70      61.88   0.12
100.00  3500    120643  71      62.17   0.12
100.00  3500    120634  71      62.35   0.12
100.00  3500    120615  72      62.52   0.12
100.00  3500    120683  73      62.66   0.12
100.00  3500    120656  74      62.86   0.12
100.00  3500    120630  75      62.97   0.12
100.00  3500    120623  75      63.04   0.12
100.00  3500    120616  76      63.14   0.12
1
ответ дан 23 October 2019 в 02:19

Я ожидал бы, что это происходит из-за температуры, это называют, регулируя, и она сделана системой (обычно ОС или BIOS) для предотвращения вреда ЦП. Чтобы сказать, происходит ли это из-за регулировки или нет, необходимо было бы посмотреть (или идеально график) при температуре ЦП и Частоте ЦП, если Вы нашли, что частота уменьшается с более высокой температурой затем, это регулирует.

Динамическое частотное масштабирование (также известный как регулировка ЦП) является техникой в архитектуре ЭВМ, посредством чего частота микропроцессора может быть автоматически скорректирована "на лету" в зависимости от фактических потребностей, для сохранения питания и уменьшают количество тепла, сгенерированное микросхемой

, См. также: https://en.wikipedia.org/wiki/Dynamic_frequency_scaling

0
ответ дан 23 October 2019 в 02:19

Другие вопросы по тегам:

Похожие вопросы: