Энергосбережение сервера настраивается в BIOS, а не в операционной системе. Процессор умеет снижать частоту и напряжение (P-State) и отключать простаивающие ядра (C-State), но по умолчанию этими переключениями управляет сам сервер. Отсюда частая история: админ выставил в Linux режим powersave, ничего не изменилось, и на этом расследование закончилось. Ниже - что означают пункты питания в BIOS, где они лежат у Dell, HPE и на платформах AMD EPYC, как измерить реальное потребление и когда экономить не стоит.
Главная особенность серверного энергопотребления, которая ломает интуицию: расход электричества плохо связан с загрузкой. Сервер, занятый на 20%, потребляет заметно больше 20% от своего максимума - значительная часть уходит на то, что работает всегда: питание памяти, чипсет, вентиляторы, накопители, сам блок питания с его потерями.
Разрыв между простоем и пиком у современных машин меньше, чем у поколения десятилетней давности, но он остаётся. Именно его и закрывают механизмы энергосбережения: они снимают часть постоянного расхода, когда работа не требуется.
Конкретных процентов здесь называть не буду - разброс между конфигурациями слишком велик. Вместо этого ниже есть раздел о том, как посмотреть фактическое потребление именно вашего сервера через контроллер управления. Это две минуты и цифра, которой можно верить.
За управление питанием процессора отвечают несколько независимых механизмов. Их часто валят в кучу, хотя работают они по-разному.
| Механизм | Что происходит | Когда срабатывает |
|---|---|---|
| P-State (Performance State) | Процессор снижает частоту и напряжение, продолжая работать | Ядро занято, но не требует полной частоты |
| C-State (Core / Package C-State) | Простаивающее ядро останавливает такты, сбрасывает кэш и обесточивает блоки - чем глубже состояние, тем больше отключено | Ядру нечего делать |
| T-State (Throttle) | Принудительный пропуск тактов | Аварийный механизм при перегреве или превышении лимита мощности |
| Turbo Boost / Precision Boost | Частота поднимается выше базовой, пока позволяют питание и температура | Нагрузка лежит на части ядер |
Различать стоит два первых. P-State - это экономия во время работы, и на производительность она влияет мягко: частота поднимается обратно за микросекунды. C-State - экономия в простое, и вот у неё есть цена: чем глубже состояние, из которого ядро выходит, тем дольше оно просыпается. На этом и строятся все дальнейшие компромиссы.
T-State к энергосбережению отношения почти не имеет. Это защитный механизм, и если он срабатывает в обычной работе, разбираться надо с охлаждением, а не с настройками питания.
Названия пунктов у вендоров разные, смысл один: отдать управление питанием железу, операционной системе или зафиксировать максимальную производительность.
| Платформа | Где лежит | Пусть решает ОС | Максимум производительности |
|---|---|---|---|
| Dell PowerEdge | System Profile | Performance Per Watt (OS) | Performance |
| HPE ProLiant | Power Regulator | OS Control Mode + Collaborative Power Control | Static High Performance |
| Платформы на AMD EPYC | Determinism Control, Global C-state Control, cTDP / Package Power Limit | Power Determinism | Performance Determinism |
У Dell по умолчанию стоит Performance Per Watt Optimized (DAPC), где DAPC - это Dell Active Power Control. В этом режиме частотами распоряжается BIOS, а отдельные пункты вроде C1E, C States и Energy Efficiency Policy становятся доступны для правки только после переключения System Profile в Custom. Пока профиль не Custom, BIOS выставляет их сам.
У AMD логика своя и на первый взгляд контринтуитивная. Performance Determinism стоит по умолчанию и означает предсказуемость: все процессоры одной модели работают одинаково, без разброса между удачными и неудачными экземплярами. Power Determinism разрешает каждому процессору выжимать свой максимум в пределах общего лимита мощности. Для парка одинаковых машин, где важна воспроизводимость, разумнее первый режим; для выжимания производительности из конкретного сервера - второй.
Вот та самая ловушка, ради которой стоит дочитать до этого места. Администратор ставит в Linux режим performance или powersave, меняет схему электропитания в Windows - и не видит разницы ни в потреблении, ни в частотах.
Причина в том, что BIOS не отдал управление. В режиме Dell DAPC или HPE Static High Performance решения принимает контроллер платформы, а запросы операционной системы он попросту не слушает. Чтобы губернатор частоты в Linux или схема питания Windows начали на что-то влиять, профиль в BIOS надо перевести в режим управления со стороны ОС: у Dell это Performance Per Watt (OS), у HPE - OS Control Mode вместе с Collaborative Power Control.
Проверять надо так: сменили настройку в ОС - посмотрите фактические частоты ядер под нагрузкой и в простое. Если они не двигаются, значит, BIOS держит управление у себя, и операционная система тут ни при чём.
Обратная сторона тоже встречается. Если на сервере работает задача, чувствительная к задержкам, и вы отдали управление операционной системе, поведение становится менее предсказуемым: частота начинает гулять вслед за нагрузкой. Для таких машин честнее зафиксировать максимальную производительность в BIOS и не искать экономию там, где она стоит дороже.
Гадать не нужно: серверная материнская плата умеет показывать потребление сама. Датчик стоит на входе блока питания, и цифра доступна через контроллер управления - в веб-интерфейсе или по IPMI.
Где смотреть: у Dell это iDRAC, раздел с питанием и статистикой потребления; у HPE - iLO с графиком Power Meter; на платформах с обычным IPMI - команда ipmitool sdr и датчики с именами вроде PSU или Power. Большинство контроллеров хранят историю за несколько суток, и этого достаточно, чтобы увидеть разницу между ночью и рабочим днём.
Смысл замера простой: посмотреть потребление в простое и под типовой нагрузкой. Разница между этими двумя числами и есть весь потенциал экономии на этом сервере. Если она мала, настраивать нечего, и дальше можно читать из любопытства.
Отдельные пункты BIOS выключают не из суеверия. Есть сценарии, где выход из глубоких C-State стоит дороже сэкономленных ватт.
Общее правило: чем короче и чаще запросы к серверу, тем осторожнее с глубокими состояниями простоя. Для файлового сервера, хранилища бэкапов или машины с ночным окном простоя ограничений практически нет.
Самый крупный выигрыш даёт выключение лишних серверов - тонкая настройка одной машины на этом фоне мелочь. На этом построена функция VMware DPM (Distributed Power Management): ночью, когда нагрузка падает, кластер собирает виртуальные машины на минимальное число хостов, а освободившиеся выключает. Утром поднимает обратно через Wake-on-LAN или контроллер управления. Похожие механизмы есть и у других платформ виртуализации.
Иногда эту группу технологий обозначают общим ярлыком DPPM - динамическое управление питанием и производительностью. Устоявшегося термина за этим нет, у каждого вендора своё название, и искать надо по конкретному: DPM у VMware, настройки питания хоста у остальных.
Честно про масштаб: DPM имеет смысл там, где хостов хотя бы шесть-восемь и есть выраженный ночной спад. На кластере из двух-трёх узлов выключать нечего - они и так держат минимум ради отказоустойчивости. Для небольшой компании это функция «на вырост».
Считать лучше на своих числах, а не на чужих процентах. Нужны две цифры, обе вы получите из предыдущих разделов: потребление в простое и под нагрузкой, плюс ваш тариф на электричество.
Формула для одного сервера, работающего круглосуточно:
Экономия в год (руб.) = снижение мощности (Вт) ÷ 1000 × 8760 × тариф (руб. за кВт·ч)
Скажем, настройка сняла 40 Вт с сервера, который работает без выходных. За год это примерно 350 кВт·ч. Умножьте на свой тариф для юридических лиц - он заметно отличается от бытового и сильно разнится по регионам, поэтому подставляйте цифру из собственного счёта.
К прямой экономии добавляется вторая, про которую забывают: каждый неизрасходованный ватт - это ватт, который не нужно выносить из помещения кондиционером. Как это считается, разобрано в материале про расчёт TDP и охлаждение серверной.
Трезвый вывод: на одном-двух серверах небольшой компании настройка BIOS даёт экономию, измеряемую тысячами рублей в год. Это не та сумма, ради которой стоит рисковать стабильностью продуктивной системы. Реальная отдача появляется при выборе железа: блок питания с высоким классом эффективности и подобранная под задачу конфигурация экономят больше, чем любые галочки в BIOS. Об этом есть отдельные разборы про виды блоков питания и энергоэффективные серверные блоки питания. А если планируете стойку целиком, мощность считают заранее - это разобрано в статье про расчёт мощности стойки.
C-State - режимы простоя ядра: чем глубже режим, тем больше блоков обесточено и тем дольше пробуждение. Для файлового сервера, хранилища бэкапов и типовой офисной нагрузки их держат включёнными. Выключают только под задачами, критичными к задержкам.
Это общий выключатель механизма C-State на платформах AMD. Выключив его, вы запрещаете ядрам уходить в состояния простоя целиком: сервер начинает потреблять больше, зато исчезает задержка на пробуждение. Настройка уровня «всё или ничего», для тонкой регулировки есть отдельные пункты глубины состояний.
Скорее всего, BIOS не отдал управление операционной системе. У Dell нужен профиль Performance Per Watt (OS) вместо стоящего по умолчанию DAPC, у HPE - Power Regulator в режиме OS Control Mode.
Обычно нет. Turbo поднимает частоту только тогда, когда есть нагрузка и позволяют питание с температурой; в простое он ничего не расходует. Его выключают ради предсказуемости частоты или когда упираются в лимит по теплу, а не ради счёта за электричество.
Переходы между C-State - штатный режим работы процессора, они происходят тысячи раз в секунду и ресурс не расходуют. Вопрос осмысленно задавать про полное выключение и включение хостов в кластере: там нагружаются блок питания и механика дисков, и частоту таких циклов действительно стоит ограничивать настройками.
Подбираете сервер и хотите, чтобы он не грел воздух впустую?
Инженеры ITTELO соберут конфигурацию под вашу реальную нагрузку - с блоком питания подходящего класса и запасом, рассчитанным по задаче. Протестируют под нагрузкой перед отгрузкой и покажут фактическое потребление. На рынке серверов 11+ лет.