Top.Mail.Ru
Что такое C-States, как работают и стоит ли отключать их в BIOS | Блог Serverflow Скачать
прайс-лист
Бесплатная
доставка по РФ
Бонус за
обратную связь
Интернет-магазин
Серверного оборудования
8 (800) 222-70-01 Консультация IT-специалиста Сравнение

Что такое C-States, как работают и стоит ли отключать их в BIOS

~ 20 мин
30649
Средний
Статьи
Что такое C-States, как работают и стоит ли отключать их в BIOS

Введение

Современные вычислительные системы буквально напичканы различными функциями, низкоуровневыми алгоритмами и механизмами, отвечающими практически за все действия, или даже бездействия устройства. К последним относятся режимы C-States, которые позволяют центральному процессору, находящемуся в состоянии простоя, снижать свое энергопотребление и тепловыделение. Может показаться, что это незаменимая функция, однако у нее все же есть свои подводные камни, из-за которых C-States востребована далеко не всегда и не везде. В этой статье мы расскажем вам, что такое C-States, как настроить эту функцию, есть ли отличия между C-States в Intel и AMD, а также сделаем краткий итог, когда стоит отключать этот механизм, а когда нет.

CPU C-States — что это такое простыми словами

Если вы когда-нибудь задумывались, как ваш компьютер или сервер экономит энергию в состоянии простоя, то весь секрет кроется в C-States. Простыми словами, C-States — это набор предопределенных режимов пониженного энергопотребления, в которые центральный процессор переходит, когда не выполняет полезной работы или его нагрузка незначительна. Цель этих режимов — снизить нагрев, потребление энергии и шум системы без ее полного выключения.

Эти режимы есть у всех современных процессоров: от Intel Core и Xeon до AMD Ryzen и EPYC. Их работа регулируется стандартом ACPI (Advanced Configuration and Power Interface), который операционная система использует для управления питанием всего компьютера. Когда операционная система определяет, что процессор простаивает, она отправляет ему команду перейти в более глубокое C-State. Чем глубже состояние (выше номер C), тем больше компонентов процессора отключается или переводится в режим пониженного энергопотребления: снижается напряжение, отключаются кэши, а на самых глубоких уровнях (C6 и выше) даже состояние ядра может быть сохранено, а само ядро — почти полностью обесточено. Когда появляется задача, процессор выходит из C-State обратно в активное состояние (C0), что занимает некоторое время (латентность пробуждения).

Параметры CPU, связанные с C-States
Параметры CPU, на которые влияют состояния C-States. Источник: Diit.cz.

Global C-State Control — что означает эта настройка в BIOS

Одной из ключевых настроек C-States в BIOS/UEFI является Global C-State Control. Как следует из названия, этот параметр действует глобально, управляя возможностью процессора использовать самые глубокие состояния простоя. Когда Global C-State Control включен, процессор может свободно переходить во все доступные для него C-States, включая наиболее энергоэффективные, такие как C6 и C7. Если же этот параметр отключен, процессор ограничивается более поверхностными состояниями (обычно C1/C1E), что предотвращает переход в самые глубокие режимы сна.

Особенно важна эта настройка на платформах AMD. Отключение Global C-State Control напрямую блокирует использование состояний Package C6/C7, критически важных для максимального снижения энергопотребления в простое на процессорах Ryzen и EPYC. Найти этот параметр можно обычно в разделах BIOS/UEFI, связанных с управлением питанием процессора или расширенными настройками CPU. У разных производителей плат названия разделов могут отличаться:
  • ASRock: Advanced > CPU Configuration > Global C-State Control.
  • ASUS: Advanced > CPU Configuration > Global C-States Control.
  • Gigabyte: Settings > AMD CBS > CPU Common Options > Global C-State Control.
  • MSI: Advanced > AMD CBS > CPU Power Management > Global C-State Control.Настройка Global C-State Control
Окно настройки параметра Global C-State Control в BIOS системы на базе процессора AMD.

C-States в Intel и AMD: в чем отличия между платформами

Хотя концепция C-States едина, ее реализация и названия конкретных состояний несколько различаются между платформами Intel и AMD, а также между десктопными, серверными и HEDT системами.

C-States в Intel:
  • C1 (Halt): Базовая остановка выполнения инструкций. Минимальное энергосбережение.
  • C1E (Enhanced Halt State): Автоматическое снижение напряжения и частоты в C1.
  • C3 (Sleep): Отключение кэша L1/L2 и тактового генератора ядра. Требует сброса кэша при выходе.
Настройка параметра C1E
Окно настройки параметра C1E в BIOS системы на базе процессора Intel. 
  • C6 (Deep Power Down): Сохранение состояния ядра в специальную область памяти и почти полное отключение питания ядра. Значительное снижение энергопотребления.
  • C7/C8/C10: Еще более глубокие состояния, доступные на современных процессорах, с дальнейшим снижением напряжения и отключением большего числа внутренних блоков CPU.
  • Package C-State (PCx): Состояния, затрагивающие весь процессорный пакет, включая некоторые элементы, общие для всех ядер (например, общие регуляторы напряжения). PC6/PC7 часто самые глубокие.
Настройка Package C-State
Окно настройки состояния Package C-State в BIOS системы на базе процессора Intel.

C-States в AMD:
  • Core C6 State: Аналог C6 у Intel. Ядро сохраняет свое состояние и обесточивается.
  • Package C6/C7 State (PC6/PC6): Состояния, затрагивающие всю вычислительную плитку (CCD) или весь процессорный пакет, значительно снижая энергосбережение.
  • Power Supply Idle Control (PSIC): Настройка, связанная с управлением подачей питания на низком токе в состояниях Package C6/C7. Важна для стабильности.
  • Global C-State Control: Глобальная настройка, разрешающая или запрещающая использование самых глубоких состояний (Package C6/C7).
Стоит отметить, что в процессорах AMD EPYC/Ryzen есть дополнительных механизм энергосбережения ядер чипа — DF C-states (Data Fabric C-States). Режим DF C-states имеет собственные уровни глубины, подобные C-States (DF C0, DF C1, DF C2 и т.д.), которые погружают CPU в более эффективный режим энергосбережения, подобные Package C-states C6/C7. 

Настройка параметра DF C-States
Окно настройки параметра DF C-States в BIOS системы на базе процессора AMD. 

Архитектурные особенности C-States между платформами:
  • Xeon (Intel): Поддерживают глубокие C-States (C6/C7), критичны для энергоэффективности в центрах обработки данных. Часто имеют дополнительные оптимизации для виртуализации и управления питанием на уровне сокета/процессора.
  • Ryzen/EPYC (AMD): Архитектура чиплетов вводит дополнительные уровни состояний (CCD, Package). Настройка Global C-State Control и Power Supply Idle Control особенно важна для стабильности и достижения низкого энергопотребления в простое. Состояния Package C6/C7 существенно снижают энергопотребление всего процессора.
  • HEDT: Часто имеют более гибкое управление C-States для баланса между производительностью в многопоточных задачах и энергоэффективностью.

Package C-State и Core C-State — в чем разница?

Различие между состояниями Core C-State и Package C-State (PC-State) фундаментальны, и их понимание жизненно необходимо для эффективного управления питанием CPU:
  • Core C-State относится к состоянию простоя отдельного физического или логического ядра процессора. Каждое ядро может независимо входить в свое состояние (C1, C3, C6) в зависимости от его нагрузки. Операционная система управляет состояниями ядер.
  • Package C-State относится к состоянию простоя всего процессора как единого целого, включая не только ядра, но и другие ресурсы: кэш LLC, контроллер памяти, системный агент, внутрикристальные регуляторы напряжения, линии передачи данных. Переход в глубокий Package C-State (PC6, PC7) требует, чтобы все ядра уже были в глубоком стазисе (C6/C7), и обеспечивает максимальную экономию энергии для всего CPU.
  • В многосокетных системах каждый процессор имеет свои независимые состояния Core и Package. В средах виртуализации, таких как ESXi, Hyper-V, KVM, гипервизор также может управлять C-States физических ядер. Глубокие Package C-States могут вносить задержки, что негативно влияет на работу некоторых виртуальных машин, поэтому использование C-State в средах виртуализации требует тщательной настройки баланса между энергоэффективностью и производительностью.
Описание Core C-State и Package C-State
Особенности состояний Core C-State и Package C-State. Источник: Forum.dataton.

Когда стоит отключать C-States?

Отключение C-States — это компромисс, жертвующий энергоэффективностью ради других целей. Вот несколько основных причин отключения этой функции:
  • Уменьшение задержек при выходе из простоя: Переход из глубокого C-State (C6/C7, PC6/PC7) обратно в активное состояние C0 занимает какое-то время, обычно микросекунды, или десятки микросекунд. Для приложений, крайне чувствительных к микро-простоям и задержкам, эта латентность при пробуждении может стать проблемой. По эти причинам  C-State отключают в: Серверах баз данных (1С, MS SQL, PostgreSQL, MySQL под высокой нагрузкой), высоконагруженных веб-серверах (обработка множества быстрых запросов), системах реального времени (видеонаблюдение, промышленные контроллеры), высокочастотном трейдинге, VoIP-серверах (обработка аудиопотоков), стриминге аудио (профессиональные DAW), некоторых задачах HPC и ИИ-инференса.
  • Повышение стабильности тактовой частоты: На некоторых платформах, особенно ранних Ryzen или при экстремальном разгоне памяти, использование глубоких C-States могло вызывать нестабильность системы, сбои в ее работе или сложности при выходе из режима простоя. Отключение C-States исключает все эти факторы. При ручном разгоне процессора или памяти отключение C-States также упрощает диагностику стабильности, убирая переменную переходов между состояниями.
  • Устранение конфликтов: В очень редких случаях C-States могут конфликтовать со старым ПО или драйверами, однако в современных коммерческих системах подобные ситуации являются скорее исключением, чем практическим кейсом.
Несмотря на то, что отключение функции C-States может принести пользу, это может быть сопряжено с определенными рисками:
  • Значительное увеличение энергопотребления в простое: Процессор будет постоянно находиться в активном состоянии (C0) или поверхностном сне (C1), потребляя гораздо больше энергии, чем в C6/C7.
  • Повышение рабочей температуры: Даже в простое процессор будет выделять тепло из-за отсутствия глубокого энергосбережения.
  • Увеличение шума системы: Кулеру процессора придется постоянно работать, чтобы отвести лишнее тепло.
  • Сокращение срока службы компонентов: Постоянные высокие температуры CPU могут потенциально влиять на его долговечность и срок службы других компонентов.

BIOS-настройки в разных системах: ASRock, MSI, Gigabyte, Supermicro

Расположение и названия настроек C-States варьируются в зависимости от производителя материнской платы и версии BIOS/UEFI. Кратко расскажем как найти настройки C-States у популярных производителей материнских плат:
  • ASRock (Consumer): Перейдите в Advanced > CPU Configuration. Ищите CPU C-States, Package C-State Limit (Intel) или Global C-State Control, Power Supply Idle Control (AMD). В подразделах AMD CBS (AMD CBS > CPU Common Options) также могут быть дополнительные опции.
  • MSI (Consumer): Зайдите в Advanced > AMD CBS (для AMD) или Overclocking > Advanced CPU Configuration (часто для Intel/AMD). Ключевые параметры: Global C-State Control (AMD), Package C-State (Intel), CPU C States (общий).
  • Gigabyte (Consumer): Навигация: Settings > AMD CBS > CPU Common Options > Global C-State Control (AMD) или Advanced > CPU Settings > CPU C-States Control (Intel). На платах Intel также смотрите Package C-State Limit.
  • Supermicro (Server/Workstation): Настройки C-States обычно находятся в Advanced > CPU Configuration > CPU Power Management Configuration. Ищите пункты вроде Package C-State, C1E, CPU C State. Для серверов критичны опции Autonomous Core C-State (Intel) или Global C-State Control (AMD). Рекомендация для серверов: Включение глубоких C-States (Package C-State на Intel, Global C-State на AMD) рекомендуется для экономии энергии в центрах обработки данных, если приложение не чувствительно к задержкам. Тщательно тестируйте стабильность и производительность под нагрузкой. 
На платах ASUS WS, ASRock Rack и Gigabyte (Server) логика расположения настроек схожа с Supermicro — ищите в расширенных разделах управления CPU и питанием (Power Technology и Power Performance Turing для общего управления энергосбережением). 

Настройка режима Power Technology
Настройка энергосберегающего режима Power Technology в разделе Advanced Power Management Configuration в BIOS.

Итог: отключать или нет?

Решение об отключении C-States — не универсально. Все зависит от конкретного сценария использования системы, ее функционала и требований к производительности/энергоэффективности. Вот несколько рекомендаций по настройке C-States от специалистов ServerFlow:

Задача / Система

Отключать C-States?

Объяснение

Офисный ПК / Домашний ПК / Медиацентр

Нет

Энергосбережение и тихая работа в простое важнее микро-задержек.

Веб-сервер (легкая / средняя нагрузка)

Нет

Трафик обычно не требует экстремально низких задержек. Экономия энергии приоритетна.

Игровой ПК

Нет (или только для экстремального разгона)

Современные CPU хорошо справляются с задержками при выходе из простоя, особенно в гейминге. Энергосбережение будет полезно.

Рабочая станция (рендеринг, САПР)

Нет

Во время работы нагрузка на CPU будет постоянна. В состоянии простоя экономия энергии будет полезна.

Сервер 1С / Базы данных (высокая нагрузка)

Да

Критически важна стабильность и минимальные задержки при обработке данных.

VoIP-сервер / Аудио-стриминг

Да

Минимальные задержки аудиопотока критически важны для сохранения высокого качества связи/звука.

Системы видеонаблюдения

Опционально

Зависит от нагрузки и ПО. При постоянной записи/аналитике CPU редко находится в простое. При активации записи с триггерами (например, движении) C-States может значительно сэкономить энергию. Тестируйте стабильность при активации.

HPC / ИИ / HFT

Да

Максимальная производительность и минимальные задержки между задачами жизненно необходимы для сохранения эффективности.

Дата-центры общего назначения

Нет

Энергоэффективность — ключевой фактор снижения эксплуатационных расходов системы. Глубокие C-States (PC6/PC7) должны быть включены, если ПО поддерживает их.

Выводы

C-States — фундаментальный механизм энергосбережения современных процессоров, позволяющий значительно снижать расход энергии, нагрев и уровень шума системы в состоянии простоя. Однако работа C-States всегда сопряжена с компромиссом: глубокие состояния (C6/C7, PC6/PC7) подразумевают появление задержек при пробуждении, что может влиять на производительность в задачах, где критически важно время отклика системы. Принимайте решение об отключении или включении C-States осознанно, основываясь на конкретных требованиях вашей вычислительной системы, ее задачах, стабильности и критически важных характеристиках, особенно в коммерческих средах, вроде дата-центров и ИИ-кластеров.
Автор: Serverflow Serverflow
Поделиться

Комментарии 0

Написать комментарий
Сейчас тут ничего нет. Ваш комментарий может стать первым.
Написать отзыв
До 6 фото, размером до 12Мб каждое
Мы получили ваш отзыв!

Он появится на сайте после модерации.

Написать комментарий

Комментарий появится на сайте после предварительной модерации

До 6 фото, размером до 12Мб каждое
Мы получили ваш отзыв!

Он появится на сайте после модерации.

Мы свяжемся с вами утром

График работы: Пн-Пт 10:00-18:30 (по МСК)

Обработаем вашу заявку
в ближайший рабочий день

График работы: Пн-Пт 10:00-18:30 (по МСК)