Как включить l3 кэш процессора через реестр

Обновлено: 30.06.2024

Здравствуй, хабра-человек.
Как известно, Microsoft очень хорошо потрудилась над своим последним детищем по имени Windows 7 и внесла много различных нововведений, об одном из которых я и хочу рассказать. Особенно актуально, я думаю, это будет для владельцев ноутбуков и нетбуков, но и пользователи настольных систем так же могут получить профит.
Как известно, самое большое новшество в «семерке» (после GUI) — это переработанная подсистема ACPI. Тут и нормальная поддержка многоядерных систем, и управление питанием устройств, мониторинга аппаратных средств, да и много чего еще, но одна очень интересная возможность остается за кадром — речь идет об энергопотреблении и управлении ядрами многоядерных/многопроцессорных систем.

Windows 7 позволяет управлять электропитанием процессоров, а так же назначать политики активности/простоя ядер.
При работе на многоядерных процессорах производится постоянная ротация потоков между ядрами и система переносит поток с более загруженных на менее загруженные ядра, что обеспечивает равномерную загрузку всех ядер, но и не менее равномерное энергопотребление, приводит к потере производительности и повышению энергопотребления, а это сказывается в первую очередь на сроке работы от аккумулятора. Сегодня я попытаюсь «восстановить справедливость» штатными средствами ОС.

В Windows 7 и Windows 2008 R2, была реализована функция «Processor performance core parking» или по нашему — «Система парковки ядра», которая оставляет выполнение процесса на том ядре, на котором он начался, до полного его завершения. Такой подход позволяет получить более динамичную систему и значительно снизить потребление энергии.
В отличии от штатного режима работы, когда процессы постоянно переносятся с одного ядра на другое, равномерно загружая ЦП, Система парковки позволяет подключать ядра по мере необходимости, стараясь сложить все задачи на минимальное количество ядер (в идеале на одно).

Пример: На четырех-ядерном процессоре в период простоя будет использоваться только одно ядро, остальные будут запаркованы и отключены, а в период нагрузки будут подключены остальные ядра.

И так, как же добиться такой фичи?

Для начала в реестр необходимо добавить следующие ключи
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\0cc5b647-c1df-4637-891a-dec35c318583]
"Attributes"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\3b04d4fd-1cc7-4f23-ab1c-d1337819c4bb]
"Attributes"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\5d76a2ca-e8c0-402f-a133-2158492d58ad]
"Attributes"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\a55612aa-f624-42c6-a443-7397d064c04f]
"Attributes"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\ea062031-0e34-4ff1-9b6d-eb1059334028]
"Attributes"=dword:00000000

После этого идем в

Панель управления -> Электропитание -> Настройка плана электропитания -> Изменить дополнительные параметры питания -> Управление питанием процессора
  • Минимальное число ядер в состоянии простоя (Processor performance core parking min cores) — Установить 25% для четырех ядерного процессора (одно ядро) — или 50% для двух ядерного процессора.
  • Разрешить состояния снижения питания (Allow Throttle States) – Включить.
  • Отключение простоя процессора (Processor idle disable) — Включить состояние простоя.
  • Переопределение ядра приостановки ядра производительности процессора (Processor performance core parking core override) – Отключено.
  • Максимальное число ядер в состоянии простоя (Processor performance core parking max cores) — Установить 100% (использовать все ядра)

После применения новых параметров можно смело идти в «мониторинг ресурсов» и любоваться тем, что большая часть ядер отключена


Вот собственно и все. Мы получили политику использования ядер «пока нам хватает одного ядра (или сколько вы там укажите) — используем одно ядро», экономим батарейку, а еще и система стала более отзывчивой.

Lex-Prioria Official

Кэш — это память с большей скоростью доступа, предназначенная для ускорения обращения к данным

Самым быстрым является кэш первого уровня — L1 cache (level 1 cache). По сути, она является неотъемлемой частью процессора, поскольку расположена на одном с ним кристалле.

Отсюда понятно, что нам нужен кэш второго уровня и когда я принялся за этот вопрос я выяснил, что у меня кэш второго уровня отключен и после некоторых поисков, как же включить кэш второго уровня, я налетел на этот ролик, в нём идёт рассказ о программе с определённой версией выпуска, которая поможет включить кэш второго уровня.

Так что вот, надеюсь у вас сработает, например у меня не сработало, у меня Windows 8.1 и программа со старой версией не совместим с новой виндовс :(, но я стал искать и нашёл на англо язычном сайте инструцию, как включить кэш второго уровня и дать ему размер через операционную систему Windows.

Первое что нам нужно, открыть Блокнот и скопировать туда следующие 5 строк:

Set ProSet = GetObject("winmgmts:").InstancesOf("Win32_Processor")
For each Pro in ProSet
WScript.Echo "Created by Lex Prioria"
WScript.Echo "Level2 Cache:" & " " & Pro.L2CacheSize & " KB"
Next

Сохраняем файл в блокноте и в названии файла пишем start.vbs, тип файла выбираем - для всех типов ( рис1 )

Когда мы сохраним, у нас появится файл на рабочем столе с названием Start ( рис2 ), щёлкаем дважды на этот файл, и появляется иконка с кнопкой ОК ( рис3 ) жмём на ОК и видим размер своего кэш в килобайтах ( рис4 ) и вот узнав максимально допустимый размер своего кэш второго уровня (L2) смотрим небольшую таблицу снизу и в зависимости от своих размеров кэша узнаём нужное вам значения для дальнейших действий:

если у вас 256, то 100
если у вас 512, то 200
если у вас 1024, то 400
если у вас 2048, то 800
если у вас 3072, то 1200
если у вас 4096, то 1600
если у вас 6144, то 2400
если у вас 8192, то 3200
если у вас 12288, то 4800

Файл который мы создали через блокнот, спокойно можно удалять.

Узнав своё значение ( на моём примере из рис4 размер кэша у меня 1024КВ значит моё значение 400 ) жмём на старт в панели виндовс и в строке Поиск или Выполнить пишем regedit ( рис5 ) и жмём ентер, появляется следующяя таблица ( рис6 )

Щёлкаем правой кнопкой мыши на нём ( рис11 ), нажимаем изменить и вносим своё значение ( в моём случае 400 ) в строке где стоит 0 ( рис11 ) жмём ОК ( рис13 ). Всё закрываем и делаем перезагрузку компа и вуа ля, кэш включён и имеет размер :)

Да и не пытайтесь выставить значение кэша больше чем есть, компу не получится это значение применить физически.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\\ProcessorControl
Пpoвepкa пpoцeccopa: этот параметр зacтaвит систему, пpи зaпycкe кoмпьютepa, пpoвepить пoддepжкy пpoцeccopoм pacшиpeнныx вoзмoжнocтeй cиcтeмы yпpaвлeния пaмятью Windows XP, нaпpимep кэшиpoвaниe c oбpaтнoй зaпиcью.
Тип: REGDWORD;
Значение: (0 = включить; 2 = отключить)

HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\\SystemBiosVersion
Информация о версии Bios.
Тип: REGMULTI_SZ;
Значение: (любое допустимое)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\P3\Parameters\\Ha ckFlags
Относится только к процессорам Intel SpeedStep или AMD PowerNow= Встроенное управление работой микропроцессора, для более эффективного использования.
Тип: REGDWORD;
Значение: (по умолчанию параметра нет; 0 = отключить поддержку XP; 1 = использовать параметры настройки, унаследованные от программного обеспечения Intel при обновлении; 5 = система может поддерживать все режимы при выполнении на батареях)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\\SecondLevelDataCache
Было бы странно, если бы Windows XP не смогла опознать и установить правильный размер L2 кэша для вашего процессора. Но вы можете установить в реестре величину кэша второго уровня вручную. Для этого добавьте ключ - значение в байтах, а не в килобайтах.
Тип: REGDWORD;
Значение: (Если значение не задано или равно 0 (по умолчанию), то размер L2 кэша устанавливается модулем HAL, если не удается это сделать, то для размера кэша используется значение по умолчанию - 256Кб. Если значение параметра SecondLevelDataCache не 0, то оно и определяет размер кэша второго уровня. Как утверждает сама Microsoft этот параметр разработан для NT4 как вторичный источник информации о размере кэша для компьютеров, на которых HAL не смог обнаружить кэш второго уровня. Это полезно только для компьютеров с "direct-mapped" (с прямым отображением в память) кэшами второго уровня. Процессоры Pentium II и выше не имеют "direct-mapped" кэша второго уровня. Параметр SecondLevelDataCache может увеличивать эффективность приблизительно на 2% в некоторых случаях для старых компьютеров с размером ОЗУ более 64Мб.)

HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0\\Pro cessorNameString
Полное название и мощность процессора.
Тип: REGSZ;
Значение: (любое допустимое)

HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0\\Upd ate Status
Статус обновления процессора.
Тип: REGDWORD;
Значение: ()

Доброго времени суток. Сегодня, в данной статье, я расскажу Вам как настроить, или проще сказать создать повышение производительности компьютера способом настройки системного реестра, для повышения его работоспособности.

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

В системном реестре для многих параметров необходима перезагрузка, для того что-бы изменения вступили в силу.

Настройка реестра

Настройка системного реестра – это одно из наиболее эффективных средств оптимизации работы операционной системы Windows. Конечно же есть огромное количество различных программ по редактированию и работе с системным реестром, но абсолютна правильная настройка реестра это – настройка руками. Для начала давайте разберёмся что такое системный реестр Windows.

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

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

Повышение производительности компьютера способом настройки системного реестра

Для того что-бы запустить реестр воспользуемся горячими клавишами Win+R и в окне выполнить (как запускать программы из меню «Выполнить» в Windows7 читаем в этой статье) введём regedit жмём ОК

Reestr

Откроется окно реестра, где слева находятся разделы, справа параметры.

Reestr11111

Прежде чем делать какие-то изменения в системном реестре, как я выше уже написал, сделаем резервную копию реестра. Для этого в окне реестра наводим стрелку мышки на слово «компьютер» жмём правую кнопку мыши и далее «экспортировать», даём файлу произвольное имя, сохраняем например на рабочий стол (при сохранении проверяем галочку в разделе «Весь реестр»). Всё копия готова, это на тот случай если что-то пойдёт не так.

Reestr2

Reestr3

Теперь, если у вас что-то пошло не так, где-то что-то вы в параметрах не так прописали, реестр можно восстановить с резервной копии, которую мы только что сделали. Восстановление делается следующим образом. Кликаем два раза на иконку реестра и подтверждаем восстановления, кнопкой Да. Пойдёт восстановление реестра.

Reestr4

Быстрое выключение компьютера

Бывает такое что компьютер выключается очень долго, можно попробовать в разделах изменить значение параметра WaitToKillServiceTimeout с 20000 (по умолчанию) ну да пустим на 10000 (10 сек.). Вот эти разделы.

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control

Reestr5

То же самое проделываем для ControlSet002 и CurrentControlSet

Отключение кэширование изображений

Если для просмотра изображений вы не используете режим «эскизы», то можно отключить эту возможность. Открываем раздел

и создаем параметр типа DWORD с именем DisableThumbailCache, значение параметра 1.

reestr6

reestr7

Отключение автоматического обновления

Откройте в реестре раздел

найдите AUOptions и измените его значение на 1

reestr8

reestr9

reestr10

Отключение автозапуска для CD/DVD дисков

Этот совет скорее всего для тех, кто сам решает как открывать тот или иной диск. В разделе

найдите параметр AutoRun и измените его значение на 0 (ноль)

reestr11

reestr12

reestr13

Отключение поисков сетевых принтеров

Если нет локальной сети или принтеров в этой сети, то можно отключить поиск сетевых принтеров. В разделе

reestr14

Отключение всплывающих подсказок для элементов рабочего стола

найдите параметр ShowInfoTip и измените его значение на 0

reestr15

reestr16

Выгрузка из памяти неиспользуемых DLL

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

и создаем параметр типа DWORD с именем AlwaysUnloadDll. Значение параметра 1

reestr16

reestr17

Не выгружать из оперативной памяти коды ядра и драйверов

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

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

находим параметр DisablePagingExecutive и меняем его значение на 1

reestr18

reestr19

Очищение файла подкачки при выключении компьютера

При работе на компьютере в файле подкачки обычно остаются конфиденциальные данные, поэтому в целях безопасности рекомендую очищать файл подкачки. В разделе реестра

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

измените значение параметра ClearPageFileAtShutdown на 1

reestr20

reestr21

Не выгружать из оперативной памяти коды ядра

Изменение этого параметра не будет выгружать ядро, а будет работать непосредственно в памяти, а не загружать различные модули с жесткого диска. Открываем раздел

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

и меняем параметр LargeSystemCache на 1

reestr22

Повышение производительности компьютера способом настройки системного реестра

reestr23

Не выгружать из оперативной памяти коды ядра и драйверов

Если на компьютере 2 Гб и более оперативной памяти, то приложения будут быстрее откликаться на действие пользователя, если коды ядра и драйвером будут оставаться в оперативной памяти, а не сбрасываться в файл подкачки. Открываем раздел

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

находим параметр DisablePagingExecutive и меняем его значение на 1

reestr24

reestr25

Повышение приоритета активным приложениям

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

найдите параметр Win32PrioritySeparation. По умолчанию значение равно 2. Максимальное значение 26, но если у вас система недостаточно мощная, то изменять этот параметр надо осторожно. Рекомендуется для таких систем максимальное значение 6 Для мощных систем можно ставить и большее значение.

reestr26

reestr27

Повышение производительности NTFS

найдите параметр NtfsDisableLastAccessUpdate и установите значение 1. Это отключит запись последнего времени доступа к файлу.

reestr28

reestr29

И измените значение параметра NtfsDisable8dot3NameCreation на 1. Это отключит создание специальной таблицы файлов для имен в формате MS-DOS

reestr30

reestr31

Ускорение открытия меню «Пуск»

найдите параметр MenuShowDelay (По умолчанию значение 400) измените значение параметра на 150

reestr32

reestr33

Настройка службы Superfetch

Поддерживает и улучшает производительность системы.

Все параметры службы находятся в разделе

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\ PrefetchParameters

Там есть три параметра, которые и задают режим работы этой службы.

  1. EnableBootTrace — отключает трассировку службы. Включать трассировку необходимо только тогда, когда служба работает неправильно.
  2. EnablePrefetcher — включаем механизм Prefetcher (Упреждающая выборка)
  3. EnableSuperfetch — включает службу Superfetch. При этом параметры EnablePrefetcher и EnableSuperfetch имеют следующие значения:
  • 0 — Отключить Prefetcher;
  • 1 — Запуск приложения, включен. Предварительная загрузка;
  • 2 — Включен, загрузки. Предварительная загрузка;
  • 3 — Запуск приложения и загрузки. Предварительная загрузка, включен;

По умолчанию эти два параметры имеют значение 3

reestr34

Заключение

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

Читайте также: