Заметки о Windows и других программных продуктах Microsoft...

Управление частотой процессора в Windows 10

Управление частотой процессора в Windows 10

Большинство современных процессоров используют различные технологии энергосбережения, такие как Intel SpeedStep или AMD Cool’n’Quiet. Эти технологии основаны на динамическом изменении частоты работы процессора в зависимости от нагрузки с целью снижения энергопотребление и тепловыделения.

Для понимания рассмотрим общие принципы работы данных технологий.

У процессора есть состояния производительности (P-States), которые представляют из себя комбинацию множителя частоты (Frequency ID, FID) и напряжения питания (Voltage ID, VID). Тактовая частота работы процессора получается путем умножения частоты системной шины (FSB) на FID, соответственно чем больше множитель, тем выше частота, и наоборот. Количество поддерживаемых состояний зависит от характеристик процессора (макс. частота, множитель и т.п.).

В ходе первоначальной загрузки в BIOS создается описание возможных состояний производительности. Это описание в соответствии с интерфейсом ACPI считывается операционной системой при запуске. В процессе работы операционная система отслеживает загрузку процессора, при снижении нагрузки обращается к драйверу процессора и переводит процессор в пониженное состояние. Снизив частоту и напряжение, процессор будет потреблять меньше энергии и, соответственно, меньше нагреваться. Ну а при увеличении нагрузки операционная система опять запросит изменение состояния процессора, но уже в большую сторону.

Когда и в какое из состояний переводить процессор, операционная система решает автоматически, в соответствии с текущей политикой энергосбережения. Но, кроме этого, в Windows есть возможность вручную задать диапазон регулировки, ограничив минимальное и максимальное состояние.

В моем компьютере стоит Intel Core I7 4790К. Согласно спецификации, он имеет базовую частоту 4ГГц, а с использованием технологии Turbo Boost может разгоняться до максимальных 4.4ГГц. Для того, чтобы посмотреть текущую скорость работы процессора, запустим «Диспетчер задач» (Ctrl+Shift+Esc) и перейдем на вкладку «Производительность». Как видите, на данный момент нагрузка невелика и процессор работает вполсилы, частота его работы составляет 1.84ГГц.

Вкладка Производительность в Диспетчере задач

 

Попробуем немного покрутить настройки частоты процессора и посмотрим, что из этого получится. Для запуска оснастки управления электропитанием жмем клавиши Win+R и выполняем команду powercfg.cpl.

запуск оснастки управления электропитанием

 

В открывшемся окне выбираем текущую схему электропитания, переходим по ссылке «Настройка схемы электропитания»

оснастка управления электропитанием

 

и жмем на ссылку «Изменить дополнительные параметры питания».

переход к дополнительным настройкам электропитания

За частоту работы процессора отвечают параметры «Минимальное состояние процессора» и «Максимальное состояние процессора», находящиеся в разделе «Управление питанием процессора».

дополнительные настройки электропитания

 

Обратите внимание, что у ноутбуков для каждого параметр доступны два варианта настроек. Первый отвечает за частоту процессора при автономной работе (от батареи), второй — при работе от сети.

дополнительные настройки электропитания для ноутбука

 

Проверим, как влияет изменение настроек на частоту работы процессора. Для начала уменьшим максимальное состояние до 20% и проверим результат. Как видите, частота работы снизилась до примерно 0.78ГГц, что как раз составляет примерно 20% от базовой частоты.

изменение максимальной частоты процессора до 20%

 

Что интересно, снизить частоту ниже 20% мне это не удалось. При выставлении значения ниже 20% частота продолжает оставаться на том же уровне, т.е. для моего процессора 800МГц является минимальной поддерживаемой частотой.

изменение максимальной частоты процессора до 5%

 

Чтобы разобраться, почему так, запустим диагностическую утилиту CPU-Z. Как видите, в нашем случае частота шины составляет 100МГц, а множитель изменяется в диапазоне от 8 до 44. Отсюда и получаем возможность изменения частоты от минимальных 800МГц до максимума 4.4ГГц с шагом в 100МГц.

CPU-Z

 

Но переключение осуществляется не по каждому множителю, а более дискретно. Другими словами, количество состояний производительности не соответствует количеству значений множителя. Посмотреть все доступные состояния можно утилитой RightMark Power Management. Например для испытуемого процессора доступно всего 15 состояний, а переключения между ними происходят с переменным шагом 200-300МГц.

RightMark PPM

 

Ну а на что влияет минимальная частота процессора? Для проверки установим значение минимальной частоты в 100% и убедимся, что скорость работы процессора сразу поднялась почти до максимуму и достигла 4.3ГГц. И это при том, что загрузка процессора составила всего 14%.

изменение минимальной частоты процессора до 100%

 

Есть еще одна настройка, отвечающая за частоту работы процессора. По умолчанию она скрыта и для того, чтобы увидеть ее, необходимо произвести некоторые манипуляции в реестре. Поэтому открываем редактор реестра (Win+R ->regedit), переходим в раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\75b0ae3f-bce0-45a7-8c89-c9611c25e100, находим параметр Attributes и изменяем его значение на 2.

добавление настройки частоты процессора в реестре

 

После этого в окне настроек появится параметр «Максимальная частота процессора». Как следует из названия, этот параметр отвечает за ограничение максимальной частоты работы процессора, его значение задается в мегагерцах. По умолчанию значение параметра равно 0, что означает отсутствие ограничений.

пункт настройки частоты процессора

 

Установим ограничение в 1500МГц и проверим результат. И действительно, ограничение работает и частота не поднимается выше указанного значения.

управление частотой процессора

 

Надо понимать, что регулировка частоты работает так-же дискретно, как и в случае с состояниями. Например при выставлении максимальной частоты 1200МГц реальное ограничение будет в районе 1000МГц. Это неудивительно, ведь переключения все равно производятся между P-состояниями, причем выбирается ближайшее минимальное значение.

дискретность регулировки

 

Изменять дополнительные параметры питания процессора можно и из командной консоли, с помощью утилиты powercfg. Для начала выведем все имеющиеся настройки питания командой:

powercfg /query

В полученных результатах надо найти требуемые параметры. Каждый раздел и параметр можно идентифицировать по идентификатору GUID или по псевдониму (алиасу). Например у группы настроек «Управление питанием процессора» GUID 54533251-82be-4824-96c1-47b60b740d00, а псевдоним SUB_PROCESSOR, у параметра «Максимальное состояние процессора» GUID 75b0ae3f-bce0-45a7-8c89-c9611c25e100 и псевдоним PROCTHROTTLEMAX.

запуск команды powercfg

 

Зная нужные алиасы или GUID-ы можно оперировать настройками. Так посмотреть значение параметра «Максимальное состояние процессора» можно такой командой (SCHEME_CURRENT означает текущую схему электропитания):

powercfg /query SCHEME_CURRENT SUB_PROCESSOR PROCTHROTTLEMAX

В командной значения параметра показаны в шестнадцатеричном виде, т.е. значение 0x00000064 означает 100%.

просмотр настроек электропитания из консоли cmd

 

Обратите внимание, что в командной строке доступны настройки как для питания от сети, так и от батареи. В зависимости от требуемого варианта команда будет отличаться. Так за настройку питания от сети отвечает ключ /SETACVALUEINDEX, а для питания от батареи используется ключ /SETDCVALUEINDEX. Различие всего в одной букве, поэтому нужно быть внимательным и постараться их не перепутать. Для примера снизим максимальное состояние процессора для питания от сети до 50%:

powercfg /setacvalueindex CHEME_CURRENT SUB_PROCESSOR PROCTHROTTLEMAX 50

Проверим результат. Как видите, текущее значение составляет 0x00000032 (50%).

изменение настроек электропитания из консоли cmd

 

Итак, мы убедились в том, что регулировки частоты работы процессора в Windows 10 есть и даже работают. Но для того, чтобы получить от них положительный эффект, необходим грамотный подход. Первым делом необходимо определиться с тем, что вы хотите получить в результате —  поднять производительность, увеличить время автономной работы, снизить температуру или что-то еще. Затем надо выяснить основные параметры своего процессора, такие как частота шины, множитель, максимальная частота работы. И уже исходя из этого, опытным путем подобрать оптимальные для себя значения.

Вот как то так 🙂

 
 
Комментарии
Фёдор

А есть ли побочные эффекты от таких настроек?

Если сильно занизить максимальную частоту, то комп будет тормозить, завысить минимальную — будет шуметь и греться. Если это можно назвать побочными эффектами.

Рустам

В общем история такая есть 2 ноута, один Асер Аспайр А 715, ограничение частот пашет отлично в режиме турбобуста, и температуры очень хорошие.
2й ноут Леново у530 так вот, режу частоты, в итоге в некоторых играх отлично режет, в некоторых будто ничего и не делал. На обоих ноутах i5 8300h

Абдукерим

У меня acer aspire 5 A515-52g-762T. У меня почему-то нет ограничение частот, только в процентах само питание расписано. Меня напрягает что частота всегда скачет. Даже если в играх (слабых) бывает что скачет до 4 ггц и может резко упасть до 1.9ггц и так постоянно.

Ярослав

А как влияет на процессор постоянная работа на максимальной частоте? Спасибо.

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

Буратино

Здравствуйте. У меня в режиме турбо баст идёт максимальная загрузка процессора даже во время простоя (постоянно так). А у вас смотрю нет. Подскажите, что сделать? Есть мысль снизить максимальную частоту. В простом режиме проц 1,6 Гг; в турбо — 2,4. Хочу поставить так, чтоб было 2,2 Гг. Но, хотелось бы, чтобы как и у вас максимальная загрузка включалась в случае необходимости. Процессор intel celeron n3060. Боюсь, что сгорит, если 2,4 в турбо будет. Ноутбук hp 15-ra073ur.

Это баг 10тки, используйте схему на базе плана энергосбережение. На базе макс-производительность CPU постоянно 100% частоты вне зависимости от загрузки. (сам нашел, удивился, немного выругался)

Игорь

купил R5 3600. всё отлично, всё радует. только почему то постоянно держит частоту почти 4100 Ггц (это его турбобуст). даже в простое на 1% стабильно на такой частоте. в настройках питания Винды 10 выбирал разные режимы. пробовал как у вас меняя в ручную частоту в настройках, но ситуация та же. не подскажете в чем может быть проблема если через Виндовс ничего нельзя сделать? на вирус или майнер не похоже так как процессор не грузится: в простое 1%.

Константин

Такая-же фигня, а иногда частота переваливает за 100%, тогда начинает тупить. Не могу понять в чем дело. При чем по факту проц почти не используется.

Msi (rtx 2060 + i5 9300) точно тоже самое, пришлось убрать турбо буст, чтобы не грелся и не шумел, без него на 2400 прекрасно всё работает, нужно как-то порезать частоту турбо буста до 3.5-3.6 хотя бы как-то

Примерно та же задача была. По написанному в статье включил отображение установки максимальной частоты для процессора. И спокойно ограничил макс частоту для ROGовских схем питания.

Спасибо за наводку, винда 10, сегодня проц упал до 800 Мгц, блин, ни че не делал такого. Биос сбросил,потом обновил, сейчас залез в электропитание — макс частота стоит на 0, во как, неисповедимы пути Билла Гейтса и его творений

Спасибо! А какая команда включает «Максимальное сосотояние процессора»?

Александр

Блин, дружище, спасибо тебе огромное! Я о подобном читал на многих сайтах, вот только ни на одном из них не написано, что для появления пункта управления частотой процессора нужно изменить параметры реестра. Я всё думал, что у меня винда кастрированная какая-то, т.к. было только состояние процессора в процентах.

На материнках с разблокированным множителем(Z чипсет) частота меняется не по P-state, а по множителю тоже. Дискретность 100 МГц. Множитель от 8 до 83(после 50 нужен жидкий азот/гелий, понятное дело). RightMark Power Management не работает на микроархитектуре Skylake и новее.

Спасибо за статью — полезно. Ставил на ноуте асус с цп 8750Н макс производительность 99% и частота из-за этого нигде не поднималась выше 2,09Ггц, где логика спросите вы? В голову у Гейтса, видимо, потому что таких моментов в великой и ужасной ОС куча. Теперь, когда поставил макс частоту 3,2 Ггц температура выше 80 не поднимается, что радует. Но и ниже не опускается, даже в простое, что за бред — без понятия. В итоге стоит напруга -0.150 (которая вообще на температуру не влияет как оказалось), макс производительность 99% и макс частота 3,2 Ггц, как результат — температура 47 и частота 3,2 в простое, температура 80 и та же частота 3,2 при 100% нагрузке.

Нужна хелпа

Нашел решение? Абсолютна идентичная проблема, не знаю как вернуть базовые частоты

Это баг 10тки, используйте схему на базе плана энергосбережение. На базе макс-производительность CPU постоянно 100% частоты вне зависимости от загрузки. (сам нашел, удивился, немного выругался)

Спасибо за очень полезную статью. Столкнулся с тем, что при разгоне 10700К при загрузке винды, частота тупо фиксировалась на 4700 МГц (сбрасывался множитель), хотя в БИОС согласно выставленному множителю отображается частота 5000 МГц. После внесения корректив в реестр получилось заставить работать процессор на выставленной частоте.

Помогите

Проблема такая, раньше проц работал на базовых частотах 2.4, в играх выкручивал буст на максимальные 4000мгц и не сбрасывал, сейчас ограничил максимальные частоты до 3500, но теперь и в простое и при минимальной нагрузке частоты не падают до базовых, держатся на 3.5 постоянно, есть способ исправить? И плачевна ли постоянная работа на 3.5?

Не важно

У меня райзен 3500u но почему то у меня не работает этот способ. Я пишу частоту 2500 ГГц но в диспетчере задач частота не меняется помогите(

Помогите, та же проблема что и у парня сверху, Amd ryzen 5 3550, частота остается на уровне 3.5 Ггц

Руслан

Здравствуйте, у меня процессор AMD fx 6200
базовая частота 3.8 в бусте 4.1, но в играх и в состоянии покоя он у меня стоит 2.81-2.82 не ментше не больше и отображает в диспетчере задач 3 из 6 ядер, что делать, не могу найти решение проблемы

у меня ryzen 5 1600x и ничего не помогло из этого, вообще не реагирует и работает на частоте 2.2 , занижаешь повышаешь по*уй…

Владимир

Нашел решение проблемы. Проблема в самой Виндовс 10 начиная с версии 2004, переустановил на старую версию 1909 и все стало нормально.

Какой путь в изменении реестра на Windows 7

Сергей

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

Сергей

И кстати подскажите,у меня тактовая частота 2.6 а турбо почти 5,будет ли больше износ проца если я буду пользоваться ноутом и играть например на 4ггц?

Если температурный режим в норме, то никакого износа не будет.

Алексей

Кто знает, почему нагрузка на проц похожа на кардиограмму? Ноут хоть и старенький, но всё же хочу его сделать.

В общем он работает на частоте 1.94-1.93 Ггц. При базовой 2.10 Ггц.
А грузит его хер пойми что, со старта работы 93% нагрузка на проц.
Кто знает в чём дело?
Спасибо

Никита

Всем привет, тоже ноут греется почти до 100 градусов, ноут tuf gaming fx 505du на ryzen 7 3750H, в реестры залез все открыл, ограничивают частоту максимальную на 3МГц а ему вообще пофигу, фигачит на своих 4 и всё, что делать кто знает? Надоел вечно горячий стол, троттлинги каждые 5 минут, короче бешусь так, что хочется послать все игровые ноуты и выкинуть в окно свой

Роман

А что если нету кнопок в вкладке электропитание ну там Максимальная частота процесора и Минимальная частота процесора?