Частота процессора в Yocto по сравнению с Ubuntu

Вопрос или проблема

я сравнил потребление энергии и частоты yocto и ubuntu.

Привет,

у меня есть два идентичных ПК на базе i7-13800HE. Один работает под управлением ubuntu 24.04, а другой — yocto.

Во время проведения стресс-тестов я заметил, что ПК с ubuntu потребляет больше энергии, ~5А@24V, чем ПК с yocto, ~3,5А@24V. После этого я записал частоты процессора обоих и обнаружил, что ubuntu работает на более высоких частотах, чем yocto.

После этого я изменил ubuntu, добавив параметр ядра init=/bin/bash, чтобы запустить его в консоли и убедиться, что я не пропустил ни одного модуля ядра в yocto.

Запуск стресс-теста из консоли имеет то же поведение, что и из yocto. Но даже когда я устанавливаю целевой режим ubuntu на rescue, systenctl set-default rescue.target, я вижу более высокие частоты.

Следующее, что я попробовал сделать, это уменьшить цель rescue и обнаружил, что более высокие частоты можно достичь после запуска systemd-udev, но копирование всех правил на yocto не увенчалось успехом.

Мой вопрос: что делает ubuntu, чтобы увеличить частоты?

С наилучшими пожеланиями, Майкл

Ответ или решение

Здравствуйте, Михаил,

Вы подняли интересный вопрос о различии в частотах процессора и потреблении энергии между системами на базе Yocto и Ubuntu, особенно на фоне выполнения стресс-тестов. Давайте разберемся в причинах этих различий и как они могут быть объяснены.

Теория

Процессор Intel i7-13800HE, как и многие современные процессоры, имеет ряд встроенных механизмов для регулирования частоты и энергопотребления. Это включает в себя такие технологии, как Intel Turbo Boost, который автоматически увеличивает частоты процессора в зависимости от нагрузки и тепловых условий, и Enhanced SpeedStep Technology, которая регулирует частоту и напряжение автоматически, в зависимости от текущих задач.

Ubuntu и Yocto — это две разных операционные системы, которые могут по-разному взаимодействовать с этими механизмами. Ubuntu, как полноценная настольная дистрибуция, изначально настроена для максимальной производительности на множестве конфигураций, в то время как Yocto — это более минималистичная система, часто используемая в встроенных решениях.

Пример

Вы уже отметили, что при выполнении стресс-тестов на Ubuntu частота процессора повышается более активно, чем на Yocto. Это может быть связано с тем, что Ubuntu, имея более широкую поддержку и большую базу драйверов, может полностью использовать архитектурные особенности процессора для повышения производительности. Управление энергопотреблением и частотой в Ubuntu производится более агрессивно благодаря передовому управлению питанием и интеграции с системой udev, которая управляет устройствами в системе.

Когда вы переводили Ubuntu в режим rescue и наблюдали поведение частот, это указывает на тот факт, что система, даже в минимальном режиме, продолжает использовать встроенные модули и драйверы, которые могут включать дополнительные профили энергопотребления, чего в Yocto может не быть в базовой конфигурации.

Применение

Во-первых, вам следует убедиться, что в Yocto корректно настроены все модули и драйверы, отвечающие за управление питанием и поддерживают все функции процессора. Это может потребовать ручного добавления или компиляции определённых модулей ядра.

Во-вторых, вы можете рассмотреть возможность настройки профилей энергосбережения и управления питанием в Yocto. Попробуйте исследовать, насколько ваш образ Yocto поддерживает такие технологии, как cpufreq и ACPI (Advanced Configuration and Power Interface), и убедитесь, что все драйверы, которые могут взаимодействовать с архитектурными особенностями Intel, активированы.

В-третьих, прошу вас проверить управление услугами и демонами, которые работают в вашей среде. Даже если Ubuntu работает в минимальном режиме, это не означает, что Yocto использует те же сервисы и демоны. Убедитесь, что соответствующие сервисы, которые могут влиять на производительность CPU, активированы и сконфигурированы.

Например, cpupower — утилита для управления профилями CPU, может использоваться для выставления частотных и напряженческих характеристик. Попробуйте установить и настроить её для Yocto, чтобы обеспечить аналогичное поведение на уровне системы.

Подведём итог. Дефолтные системы Ubuntu и Yocto могут значительно отличаться в плане настройки производительности и энергопотребления. Вы можете начать с обновления и подключения всех доступных драйверов процессора и энергопотребления в Yocto, чтобы соответствовать обертке Ubuntu, используемой при стресс-тестах. Это должно помочь достичь более сопоставимых результатов.

С уважением,
Ваш ИТ-эксперт

Оцените материал
Добавить комментарий

Капча загружается...