После обновления 18,04, cpufreq масштабирует все центральные процессоры в унисон, а не индивидуально

У меня есть Intel i7-6900K, 8 ядер/16 hyper потоки.

У меня есть носатая работа моего рабочего стола, и это показывает каждую из 8 аппаратных тактовых частот ядра. До обновления 18,04 (от 16,04), каждое ядро, масштабируемое индивидуально и "по требованию", политика, казалось, работала хорошо с ядром, увеличенным до турбо скорости при загрузке (например, единственная упорная работа потока) и другими ядрами, остающимися отрегулированной. Под 18,04, ядра, кажется, растут и вниз параллельно.

Политиками, доступными в 18,04, является "Производительность" и "По требованию". С активной политикой "Производительности", который является значением по умолчанию после обновления, все ядра остаются выше основной частоты 3.2 ГГц приблизительно в 3.45-3.53Ghz. Я могу включить "По требованию" политика путем включения обслуживания через systemctl и перезагрузки. Но затем все ядра остаются дома вокруг уровня на 2.5 ГГц или так, и даже под длительно действующей нагрузкой, ни одно из ядер не масштабируется полностью.

Под 16,04, ядра остались в относительно низкой тактовой частоте и затем увеличились почти немедленно при загрузке индивидуально.

Ситуация довольно сбивает с толку теперь, такое количество документации онлайн не относится к более новым процессорам и/или более новым ядрам. Более сбивающий с толку то, что можно было использовать ACPI для управления частотой тактовой частоты ЦП.

Есть ли руководство где угодно, которое имеет все или часть следующей информации:

  • Какие процессоры должны быть покрыты который, масштабируя методы в Linux?
  • Какие механизмы доступны (cpufreq, ACPI, ни один, что-то еще)
  • Как точно считать текущую скорость ЦП. Например, каждый мог бы thinkg, что "кошка/sys/devices/system/cpu/cpufreq/policy*/scaling_cur_freq" будет точна, но в документации говорится, что это не может быть точно:

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

Спасибо за любую справку. Я попытаюсь проверить дважды и зарегистрировать всю информацию, что я собираю и отправляю ее где-нибудь.

0
задан 26 November 2018 в 16:45

1 ответ

Главное для Вашего процессора состоит в том, что существует только одна Цепь фазовой синхронизации (PLL - который масштабирует тактовую частоту ЦП вверх и вниз) в корпусе процессора. Поэтому всегда имело место, что центральные процессоры масштабируются вверх и вниз в унисон. Причина это раньше казалось отличающимся, состояла в том, что acpi-cpufreq драйвер масштабирования ЦП раньше сообщал, что это думало, что частоты ЦП должны быть, а не каковы они на самом деле были. Теперь это сообщает, каковы частоты на самом деле.

почти для всех пользователей / сценарии с помощью cat /sys/devices/system/cpu/cpufreq/policy*/scaling_cur_freq обеспечивают достаточно хороший индикатор относительно того, каковы отдельные частоты ЦП. Причина документ имеет ту правовую оговорку, выравнивает его, что возможно, что информация может быть немного устаревшей, если ЦП был неактивен со своими часами, остановленными некоторое время.

По умолчанию Ваш процессор должен использовать intel-pstate драйвер частоты ЦП, и он имеет HWP (Аппаратные средства pstate управление), означая, что сам процессор может решить требуемый pstate (частота ЦП). Обратите внимание, что весь pstate запрашивает войти в материал PLL, наряду с состояниями ожидания, и решение принято относительно в том, каким pstate PLL будет управлять. Вы, кажется, используете acpi-cpufreq драйвер масштабирования ЦП, таким образом, я предполагаю, что Вы отключили intel_pstate драйвер, который прекрасен, если это - Ваше предпочтение.

Что касается инструментов частотного масштабирования ЦП / методы. Я никогда не использую их. Я только справляюсь с частотным масштабированием ЦП с основными примитивными командами через командную строку.

относительно того, почему Ваши центральные процессоры, кажется, не входят в турбо диапазон теперь, нам было бы нужно больше информации для обеспечения справки. Запуск с, например:

doug@s15:~$ grep . /sys/devices/system/cpu/cpufreq/policy*/scaling_driver
/sys/devices/system/cpu/cpufreq/policy0/scaling_driver:intel_pstate
/sys/devices/system/cpu/cpufreq/policy1/scaling_driver:intel_pstate
/sys/devices/system/cpu/cpufreq/policy2/scaling_driver:intel_pstate
/sys/devices/system/cpu/cpufreq/policy3/scaling_driver:intel_pstate
/sys/devices/system/cpu/cpufreq/policy4/scaling_driver:intel_pstate
/sys/devices/system/cpu/cpufreq/policy5/scaling_driver:intel_pstate
/sys/devices/system/cpu/cpufreq/policy6/scaling_driver:intel_pstate
/sys/devices/system/cpu/cpufreq/policy7/scaling_driver:intel_pstate
doug@s15:~$ grep . /sys/devices/system/cpu/cpufreq/policy*/scaling_governor
/sys/devices/system/cpu/cpufreq/policy0/scaling_governor:powersave
/sys/devices/system/cpu/cpufreq/policy1/scaling_governor:powersave
/sys/devices/system/cpu/cpufreq/policy2/scaling_governor:powersave
/sys/devices/system/cpu/cpufreq/policy3/scaling_governor:powersave
/sys/devices/system/cpu/cpufreq/policy4/scaling_governor:powersave
/sys/devices/system/cpu/cpufreq/policy5/scaling_governor:powersave
/sys/devices/system/cpu/cpufreq/policy6/scaling_governor:powersave
/sys/devices/system/cpu/cpufreq/policy7/scaling_governor:powersave
doug@s15:~$ grep . /sys/devices/system/cpu/intel_pstate/*    <<<< If driver is intel-pstate.
/sys/devices/system/cpu/intel_pstate/max_perf_pct:100
/sys/devices/system/cpu/intel_pstate/min_perf_pct:42
/sys/devices/system/cpu/intel_pstate/no_turbo:0
/sys/devices/system/cpu/intel_pstate/num_pstates:23
/sys/devices/system/cpu/intel_pstate/status:active
/sys/devices/system/cpu/intel_pstate/turbo_pct:18

Ожидаемый вопрос: Если существует только один PLL, и весь ЦП всегда работает на той же частоте, то, почему о различных частотах сообщают для них? Пример:

doug@s15:~$ cat /sys/devices/system/cpu/cpufreq/policy*/scaling_cur_freq
2186018
2315657
2308037
2254830
2111971
2127314
2169466
2152378

Ответ: В любом данном измерительном интервале центральные процессоры также входят и из различных состояний ожидания, где, если состояние ожидания достаточно глубоко, тактовая частота ЦП останавливается. Частота, о которой сообщают, является средней активной частотой для того процессора по последнему измерительному интервалу.

1
ответ дан 22 September 2019 в 11:33

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

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