Можно ускорить загрузку Windows, изменив всего один параметр в реестре! Стоп… звучит слишком хорошо, чтобы быть правдой, не так ли? Однако это возможно, потому что когда-то Microsoft решила повоевать за автозагрузку с разработчиками программ. Я нарисовал для вас полную картину работы твика, чтобы ваши ожидания от него соответствовали действительности.
Для автоматического запуска программ и скриптов в Windows, как правило, используются:
1
2
|
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run |
Программы из первых двух пунктов этого списка можно увидеть в утилите msconfig, а полную картину даетAutoruns.
Вы можете узнать больше об автозагрузке из материалов моих коллег (1 и 2), а я продолжу свой рассказ.
Из моей книги об ускорении загрузки Windows вы можете узнать технические подробности o порядке загрузки системы, поэтому сейчас я предлагаю взглянуть на ситуацию проще. Систему можно считать полностью загрузившейся, когда с рабочим столом или начальным экраном Windows 8 можно свободно взаимодействовать. Это значит, что система моментально откликается на запуск программ или вызов контекстных меню.
Если отбросить время, требуемое на загрузку драйверов, а также системных и сторонних служб, то программы в автозапуске становятся основным фактором, влияющим на длительность загрузки системы.
Многие программы стремятся прописаться в автозагрузку сразу при установке, а иногда это происходит без вашего ведома.
Доводилось видеть такую картину? Вряд ли у вас все так запущено, но у кого-нибудь из друзей, знакомых или родственников – вполне может быть. Все это тормозит загрузку системы!
Нет, Microsoft, конечно, не против разработчиков программ, ибо Windows без приложений никому не нужна. Однако Microsoft не радует, что разработчики пихают свои программы в автозагрузку. Потому что пока они стартуют, в том числе и в фоне, мы не можем нормально запускать те программы, которые нам действительно нужны. Но при этом принято говорить, что Windows долго запускается, не так ли?
Создатели Windows Vista, видимо, чувствовали, что ОС получается тяжеловатой, в том числе и в плане загрузки системы. Поэтому в Microsoft решили уменьшить негативный эффект от программ в автозагрузке и сделать рабочий стол доступным немного быстрее.
Поток (thread) является частью процесса и может выполняться с разным приоритетом. Потокам с высоким приоритетом требуется больше ресурсов, чем их коллегам с обычным или низким приоритетом.
Логика создателей Windows Vista была такова, что если этого не сделать, некоторые разработчики будут стремиться повысить приоритет своих программ, чтобы растолкать локтями тех, кто этого не сделал. Поэтому все программы в автозагрузке поставили в равные условия.
На практике это означало, что по умолчанию на протяжении 60 секунд после запуска системы для всех приложений в автозагрузке задавался приоритет:
Таким образом, каждая программа в автозагрузке меньше нагружала систему во время ее запуска. А по истечении заданного периода времени приоритет программы восстанавливался на уровень, определенный ее создателями.
Microsoft закопала топор войны за автозагрузку с выходом Windows 7. Трудно сказать, что послужило основной причиной. Возможно, было много нареканий от корпоративных клиентов, недовольных медленным выполнением скриптов групповой политики.
С другой стороны, за три года, прошедших с выпуска Windows Vista, улучшились аппаратные конфигурации компьютеров на рынке. Появились новые, более мощные процессоры, а твердотельные накопители стали проникать в массы. Это снизило полезный эффект от помещения в коробку автоматически запускаемых программ.
Так или иначе, в Windows 7 и Windows 8 приоритет CPU и I/O для программ в автозагрузке не понижается, а возможность увеличить приоритет потока не блокируется. Однако топор войны не утоплен, а именно закопан! И ниже я расскажу, как его выкопать.
Таким образом, ускорение будет заметно на глаз на нетбуке или слабом ноутбуке с двумя-тремя десятками программ в автозагрузке.
Если же у вас четырехъядерный процессор, SSD диск и минимум программ в автозапуске, вы вряд ли заметите ускорение загрузки (но возможен эффект плацебо 🙂
Описанные выше возможности остались в Windows 7 и Windows 8. Их просто отключили, изменив низкоприоритетный период с 60 секунд до 0. Вы можете установить любой интервал по своему усмотрению!
1
|
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\DelayedApps |
Вот и все! Теперь на протяжении заданного интервала времени программы из автозагрузки будут иметь низкий приоритет CPU и I/O.
С помощью утилиты Process Explorer вы можете быстро посмотреть, с каким приоритетом запущены процессы.
На рисунке вы видите программы, отсортированные по приоритету CPU.
У процессов от AcroRd32.exe до wmplayer.exe:
Обычный приоритет CPU имеет значение 8, в чем можно убедиться, щелкнув правой кнопкой мыши по процессу и выбрав в меню пункт Set Priority.
По истечении заданного интервала времени вы увидите, что приоритет процессов вернулся в нормальное русло.
Материал был бы неполным без подтверждения теории практикой. К сожалению счастью, у меня все системы относительно быстрые (так, во всех в качестве системного диска используется SSD), а в автозагрузке чистота и порядок.
Поэтому перегруженный автозапуск программ тоже пришлось эмулировать, и я добавил туда:
Поскольку состав программ в автозапуске изменился, нужно было обеспечить чистоту эксперимента:
Затем я выполнил по 5 перезагрузок системы в обычном режиме и с включенным ограничением приоритета (время в миллисекундах взято из события 100).
НОМЕР ЗАПУСКА | ОБЫЧНАЯ АВТОЗАГРУЗКА | АВТОЗАГРУЗКА С ОГРАНИЧЕННЫМ ПРИОРИТЕТОМ |
---|---|---|
1 | 66754 | 62025 |
2 | 64380 | 59823 |
3 | 69242 | 63399 |
4 | 60904 | 59787 |
5 | 72725 | 60839 |
Среднее | 66801 | 61175 |
Как видите, среднее время пяти загрузок составило 66,8 с при обычной автозагрузке против 61,2 с при ограниченном приоритете программ в автозапуске. Другими словами, в протестированной конфигурации железа и программ среднее время готовности рабочего стола сократилось на 9%, благодаря внесенному в реестр изменению.
Я не сомневаюсь, что многие из вас применят этот твик и не поленятся выполнить 6-10 тестовых перезагрузок. В зависимости от вашей конфигурации и набора программ в автозагрузке, у вас может и не наблюдаться такого прироста производительности, но хуже быть не должно.
Пожалуйста, поделитесь результатами в комментариях, дополнив их сведениями о:
Original https://kb.vmware.com/s/article/2042141 Backing up ESXi host configuration data To synchronize the configuration changed with persistent…
vCenter Converter Standalone 6.6.0 download (далее…)
VMware remote console (VMRC) 12.0.5 download Last version: VMware Remote Console 12.0.5 28 NOV 2023…
SELECT col_sizes.TABLE_SCHEMA, col_sizes.TABLE_NAME, SUM(col_sizes.col_size) AS EST_MAX_ROW_SIZE FROM ( SELECT cols.TABLE_SCHEMA, cols.TABLE_NAME, cols.COLUMN_NAME, CASE cols.DATA_TYPE WHEN…
UPDATE DB SET column = DATE(STR_TO_DATE(column, '%Y-%d-%m')) WHERE DATE(STR_TO_DATE(column, '%d-%m-%Y')) <> '0000-00-00'
echo 1 > /sys/class/block/sda/device/rescan #maybe run under root> sudo fdisk /dev/sda2 > d > 2…