В настоящее время у меня нет четкого ответа на это, однако очевидно, что ядро Linux использует некоторые механизмы энергосбережения .
Однако, проведя небольшое исследование, я быстро понял, что самые последние ядра Linux используют функцию под названием ACPI, которая является аббревиатурой от Advanced Configuration и Power Interface .
Что делает ACPI:
спецификация расширенного интерфейса конфигурации и питания (ACPI) предоставляет открытый стандарт для конфигурации устройства и управления питанием операционной системой.
через википедию .
По сути, ACPI позволяет контролировать различные состояния ЦП, чтобы обеспечить лучшее управление питанием.
Различные состояния CPU ACPI:
CPU C-States (управление питанием)
В принципе, вам, вероятно, не о чем беспокоиться о «состояниях C» процессора. Они автоматически контролируются системой ядро + ACPI с учетом текущей загрузки системы. (CAVEAT: ознакомьтесь с примечанием о процессорах AMD Athlon и Duron ниже). Код ACPI в более новых (2.6+) ядрах автоматически переводит ваш процессор в спящий режим, когда есть время простоя (примечание: это не меняет частоту процессора. Это контролируется "состояниями P" - см. Ниже).
Единственное, что нужно понять, это то, что ваша система полностью «осознана», когда процессор на мгновение останавливается - вы не заметите большой разницы. Однако экономия электроэнергии может быть значительной. Просто подумайте, что ваш процессор берет тысячи «микро-сна», когда он простаивает.
Состояния CPU-T (регулирование)
Они очень похожи на «состояния C» (используется та же инструкция HLT), однако отличие состоит в том, что регулирование выполняется «вами» (подобно тому, как каждый 4-й цикл является циклом ожидания, в отличие от «состояний C»). «выше которого автоматически определяются нагрузка системы). Обратите внимание, что частота НЕ была изменена ... см. "P состояния" ниже.
Состояние CPU-P (производительность)
Многие процессоры в наши дни (особенно ноутбуки) могут иметь тактовую частоту, фактически замедленную «на лету». Это приводит к огромной экономии энергии. Intel называет это «SpeedStep», а AMD - «Cool'n'Quiet» или «PowerNow». В более общем смысле эти состояния называются «P состояниями». Вам почти наверняка придется зайти в BIOS и включить эту функцию для своего ЦП.
** Некоторые показатели потребления: **
Какова экономия энергии из вышеуказанных состояний процессора? Следующие данные взяты с сайта AMD. Рассмотрим AMD 64 3400 + / 2200 МГц с 1 МБ кэш-памяти второго уровня. Кстати, пока я здесь, позвольте мне пожаловаться на соглашение об именах AMD. Число 3400+ не означает приседания на джек. Это просто способ AMD сказать, что этот процессор «похож на» Intel Pentium-4, работающий на частоте 3400 МГц. Я думаю, что это их способ не потерять долю рынка. Вот значения энергопотребления в состоянии P и T (состояние C - это та же инструкция HLT, что и состояние T):
- Состояние производительности 0 (полностью активен) (2200 МГц): 89 Вт
- Состояние производительности 1 (2000 МГц): 70 Вт
- Состояние производительности 2 (800 МГц): 35 Вт
- Дросселирование (инструкция HLT): 2,2 Вт
Некоторые ссылки для дальнейшего чтения
редактирует
[РЕДАКТИРОВАТЬ # 1]: Погуглив, я нашел некоторые другие посты и на некоторых форумах (форум OpenSuse, кажется, имеет отношение к тому, что вы ищете) и обнаружил, что это не такая большая проблема для Linux, как для Windows и особенно в играх. Я также выкопал некоторую информацию в двух письмах ( первое и второе [продолжение] ) в списках рассылки RedHat, которые, похоже, связаны между собой. В настоящее время я изучаю информацию в нем.
[РЕДАКТИРОВАТЬ # 2]: Я немного исследовал проблему, и я становлюсь все более и более уверенным в том, что в Linux нет механизма основной парковки, если только нет одного ACPI, о котором я не знаю. Некоторыми интересными находками являются некоторые части программного обеспечения, которые позволяют напрямую манипулировать процессором и процессами, выполняемыми на нем, например процессором , numactl и, наконец, CPUfreq . Продолжу мое исследование.