Почему мой Windows 10 загружается так долго?


Давно руки не доходили проанализировать загрузку корпоративных систем, и вот это случилось.

Есть давний инструмент Windows Performance Toolkit, который следует регулярно применять в корпоративной сети — рекомендую.

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

При анализе трассировки загрузки Windows 10 была обнаружена общая проблема: сервис «Служба Office Нажми и Работай» при запуске пытается сделать сетевой запрос, который тормозит. По всей видимости это запрос в Облако, а так как корпоративная сеть закрыта фаерволом, то неудивительно, что запрос тормозит и замедляет старт службы. Собственно облачные сервисы не используются, поэтому хорошо бы от этого избавиться. После перевода службы в Delayed Start загрузка системы улучшается. (Не понятны последствия для самого Office, но, как говорится, жизнь покажет, точнее, протестируем.)

Второй пример частный. При анализе трассировки загрузки системы было замечено замедление при вызове некой функции, в имени которой присутсвует Home. Имена соседних функций также информативны и говорят о сетевом запросе — очевидно проблема с монтированием сетевой домашней папки в виде диска. В свойствах доменной учётной записи на закладке Profile действительно есть эти настройки. Только указан старый, уже неиспользуемый, сервер! Так как пользователь никогда не пользовался домашней папкой, то никто не знал об ошибке конфигурации. После удаления этой настройки время загрзки улучшилось на 17 секунд, а вместе с первым изменением более чем на 20 секунд.

Общее впечатление после анализа процесса загрузки — Windows 10 поприятнее Windows 7. Я ожидал худшего на старом железе, но ожидания не оправдались.

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

Реклама

Событие 100 не всегда создаётся


 

В Windows 7 есть два интересных события с номерами 100 и 200 в журнале Microsoft-Windows-Diagnostics-Performance/Operational. Первое создаётся при загрузке системы и показывает время загрузки, а второе создаётся при выключении системы и показывает время выключения.

Оказывается событие 100 на некоторых машинах генерируется не всегда. Есть даже обсуждение на форуме по этой проблеме Missing boot events on the Diagnostic performance operational log (event-id 100), но отмеченное решение в нём неверное.

В этом обсуждении есть ссылка на описание алгоритма формирования события, которое опубликовано сотрудником Microsoft. Согласно этому алгоритму событие 100 должно формироваться всегда.

Тем не менее существуют ситуации, когда событие 100 не формируется. На некоторых машинах это происходит очень часто. Читать далее

Powershell – средства оптимизации скрипта


При обработке большого объёма информации важна производительность скрипта Powershell. Даже небольшие изменения в скрипте (см. Powershell – превратности производительности) способны уменьшить время выполнения скрипа в несколько раз. Для анализа небольшого по размеру скрипта можно с успехом использовать стандартный командлет Measure-Command. Но стоит скрипту разрастись, трудоёмкость использования этого командлета для поиска узких мест начинает расти в прогрессии: для оптимизации объёмного скрипта, состоящего из сотен строк, этот метод перестаёт работать.

Встаёт вопрос о профайлере (powershell performance profiler). И тут оказывается, что штатного профайлера Powershell не предлагает. В предварительной версии Powershell 5.0 его тоже нет (Если только в финальной версии внезапно появится, что маловероятно). Читать далее