Как включить 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% (использовать все ядра)
После применения новых параметров можно смело идти в «мониторинг ресурсов» и любоваться тем, что большая часть ядер отключена
Вот собственно и все. Мы получили политику использования ядер «пока нам хватает одного ядра (или сколько вы там укажите) — используем одно ядро», экономим батарейку, а еще и система стала более отзывчивой.
Кэш — это память с большей скоростью доступа, предназначенная для ускорения обращения к данным
Самым быстрым является кэш первого уровня — 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 жмём ОК
Откроется окно реестра, где слева находятся разделы, справа параметры.
Прежде чем делать какие-то изменения в системном реестре, как я выше уже написал, сделаем резервную копию реестра. Для этого в окне реестра наводим стрелку мышки на слово «компьютер» жмём правую кнопку мыши и далее «экспортировать», даём файлу произвольное имя, сохраняем например на рабочий стол (при сохранении проверяем галочку в разделе «Весь реестр»). Всё копия готова, это на тот случай если что-то пойдёт не так.
Теперь, если у вас что-то пошло не так, где-то что-то вы в параметрах не так прописали, реестр можно восстановить с резервной копии, которую мы только что сделали. Восстановление делается следующим образом. Кликаем два раза на иконку реестра и подтверждаем восстановления, кнопкой Да. Пойдёт восстановление реестра.
Быстрое выключение компьютера
Бывает такое что компьютер выключается очень долго, можно попробовать в разделах изменить значение параметра WaitToKillServiceTimeout с 20000 (по умолчанию) ну да пустим на 10000 (10 сек.). Вот эти разделы.
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
То же самое проделываем для ControlSet002 и CurrentControlSet
Отключение кэширование изображений
Если для просмотра изображений вы не используете режим «эскизы», то можно отключить эту возможность. Открываем раздел
и создаем параметр типа DWORD с именем DisableThumbailCache, значение параметра 1.
Отключение автоматического обновления
Откройте в реестре раздел
найдите AUOptions и измените его значение на 1
Отключение автозапуска для CD/DVD дисков
Этот совет скорее всего для тех, кто сам решает как открывать тот или иной диск. В разделе
найдите параметр AutoRun и измените его значение на 0 (ноль)
Отключение поисков сетевых принтеров
Если нет локальной сети или принтеров в этой сети, то можно отключить поиск сетевых принтеров. В разделе
Отключение всплывающих подсказок для элементов рабочего стола
найдите параметр ShowInfoTip и измените его значение на 0
Выгрузка из памяти неиспользуемых DLL
Если мало оперативной памяти, то часть можно освободить путем выгрузки неиспользуемых библиотек. Открываем раздел
и создаем параметр типа DWORD с именем AlwaysUnloadDll. Значение параметра 1
Не выгружать из оперативной памяти коды ядра и драйверов
Если на компьютере 2 Гб и более оперативной памяти, то приложения будут быстрее откликаться на действие пользователя, если коды ядра и драйвером будут оставаться в оперативной памяти, а не сбрасываться в файл подкачки. Для этого открываем раздел
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
находим параметр DisablePagingExecutive и меняем его значение на 1
Очищение файла подкачки при выключении компьютера
При работе на компьютере в файле подкачки обычно остаются конфиденциальные данные, поэтому в целях безопасности рекомендую очищать файл подкачки. В разделе реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
измените значение параметра ClearPageFileAtShutdown на 1
Не выгружать из оперативной памяти коды ядра
Изменение этого параметра не будет выгружать ядро, а будет работать непосредственно в памяти, а не загружать различные модули с жесткого диска. Открываем раздел
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
и меняем параметр LargeSystemCache на 1
Не выгружать из оперативной памяти коды ядра и драйверов
Если на компьютере 2 Гб и более оперативной памяти, то приложения будут быстрее откликаться на действие пользователя, если коды ядра и драйвером будут оставаться в оперативной памяти, а не сбрасываться в файл подкачки. Открываем раздел
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
находим параметр DisablePagingExecutive и меняем его значение на 1
Повышение приоритета активным приложениям
Приложения в Windows работают как в активном режиме, так и в фоновом режиме. Если хотите, чтобы активные приложения получали больше ресурсов, тем самым работали быстрее, то в разделе
найдите параметр Win32PrioritySeparation. По умолчанию значение равно 2. Максимальное значение 26, но если у вас система недостаточно мощная, то изменять этот параметр надо осторожно. Рекомендуется для таких систем максимальное значение 6 Для мощных систем можно ставить и большее значение.
Повышение производительности NTFS
найдите параметр NtfsDisableLastAccessUpdate и установите значение 1. Это отключит запись последнего времени доступа к файлу.
И измените значение параметра NtfsDisable8dot3NameCreation на 1. Это отключит создание специальной таблицы файлов для имен в формате MS-DOS
Ускорение открытия меню «Пуск»
найдите параметр MenuShowDelay (По умолчанию значение 400) измените значение параметра на 150
Настройка службы Superfetch
Поддерживает и улучшает производительность системы.
Все параметры службы находятся в разделе
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\ PrefetchParameters
Там есть три параметра, которые и задают режим работы этой службы.
- EnableBootTrace — отключает трассировку службы. Включать трассировку необходимо только тогда, когда служба работает неправильно.
- EnablePrefetcher — включаем механизм Prefetcher (Упреждающая выборка)
- EnableSuperfetch — включает службу Superfetch. При этом параметры EnablePrefetcher и EnableSuperfetch имеют следующие значения:
- 0 — Отключить Prefetcher;
- 1 — Запуск приложения, включен. Предварительная загрузка;
- 2 — Включен, загрузки. Предварительная загрузка;
- 3 — Запуск приложения и загрузки. Предварительная загрузка, включен;
По умолчанию эти два параметры имеют значение 3
Заключение
Из сегодняшней статьи Вы узнали как создать повышение производительности компьютера способом настройки системного реестра. А на этом я буду заканчивать данный пост. Ещё раз повторюсь, что перед работой с реестром сделайте резервную его копию, а то мало ли что может произойти в процессе работы с ним. Если что-то не понятно по данному посту, оставляйте отзывы в комментариях, чем смогу, помогу.
Читайте также: