Вивчення автозавантаження Windows за допомогою Windows Performance Analyzer - Вадим Стеркиной

  1. [+] Сьогодні в програмі
  2. Як присвоюється ступінь впливу на запуск Windows
  3. Де зберігаються результати вимірювань
  4. Як виконуються вимірювання
  5. Знайомство з новою версією Windows Performance Analyzer
  6. Завантаження і установка
  7. Вибір графіка і зміна виду відображуваних даних
  8. Вибір даних для відображення в таблиці
  9. Автозавантаження Windows крізь призму WPA
  10. Використання процесора
  11. дискова активність
  12. Справа про автозавантаження Windows в новому ракурсі
  13. Батьківський процес
  14. Відкладене автозавантаження
  15. Рекомендації Microsoft розробникам програм
  16. дискусія

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

Тиждень тому Холмс без особливих зусиль обчислив причину автоматичного запуску Skype за допомогою Process Monitor. У Windows 8 і більше нових ОС історія про автозавантаження могла б вийти трохи інший. І справа тут навіть не в тому, що в цій ОС не встановлюється ОЕМ-утиліта виробника ноутбука, що стала причиною проблеми. Все набагато цікавіше!

[+] Сьогодні в програмі

Управління автозапуском в Windows

Для управління програмами, що стартують разом з системою, в Windows історично служила утиліта msconfig . Список програм формувався на основі вмісту папки «Автозавантаження» ( shell: startup ) І декількох розділів реєстру:

HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Run HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Run HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ RunOnce HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ RunOnce HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ Run

У Windows 8 цей принцип зберігся, але функція перейшла до диспетчера задач.

Новинкою ж стало відображення інформації про вплив на швидкість завантаження системи. Ймовірно, за задумом творців Windows, ці відомості повинні допомогти людям під час розчищення автозапуску. Я пропоную вам залізти під капот Windows і розібратися, як все це працює.

Як присвоюється ступінь впливу на запуск Windows

Диспетчер завдань злегка відкриє вам завісу над таємницею, якщо навести курсор на заголовок стовпчика.

Конкретні параметри впливу на швидкість запуску Windows такі:

  • Високе - додаток використовує більше 1 секунди часу процесора або понад 3MB дискових операцій I / O
  • Середнє - додаток використовує від 300 до 1000 мс часу процесора або від 300KB до 3MB дискових операцій I / O
  • Низьке - додаток використовує менше 300 мс часу процесора і менш 300KB дискових операцій I / O

Давайте подивимося, звідки диспетчер задач бере ці відомості.

Де зберігаються результати вимірювань

Знайти джерело даних виявилося дуже легко. Налаштувавши фільтр Process Monitor на процес taskmgr, я включив відстеження файлової активності і перейшов в диспетчері завдань на вкладку «Автозавантаження». Результат не змусив себе чекати - знайшлася папка% WinDir% \ System32 \ wdi \ LogFiles.

збільшити малюнок
збільшити малюнок

Ім'я папки StartupInfo недвозначно натякала на її вміст. За вказаним шляхом, дійсно, виявилося кілька XML-файлів з приблизно такими даними.

збільшити малюнок
збільшити малюнок

Очевидно, при запуску диспетчера задач відбувається аналіз XML-файла, відповідного останньої завантаженні Windows. Потім відомості виводяться в спрощеному вигляді на вкладці «Автозавантаження». Якщо файли видалити, ступінь впливу буде вказуватися як «Не виміряна».

Як виконуються вимірювання

Рівнем вище, в папці LogFiles, виявилися звіти у форматі ETL, в яких поряд зі звітом про завантаження Windows зберігає також відомості про вимкнення системи і вході в неї.

В принципі, навіть виходячи з назви папки wdi, можна здогадатися, як створюються звіти. Абревіатура означає Windows Diagnostics Infrastructure, тобто інфраструктура діагностики Windows. Щоб перевірити припущення, я знову звернувся до Process Monitor, цього разу нацькувавши його на папку wdi.

Мені навіть не знадобилося перезавантажувати систему, оскільки утиліта відразу зафіксувала в папці активність svchost.exe, хост-процесу для служб. Відкривши в диспетчері завдань вкладку «Подробиці», я клацнув правою кнопкою миші по процесу з ідентифікатором 1 144 і вибрав «Перейти до служб».

Відкривши в диспетчері завдань вкладку «Подробиці», я клацнув правою кнопкою миші по процесу з ідентифікатором 1 144 і вибрав «Перейти до служб»

Служба політики діагностики запускається автоматично, а її повний опис ви можете подивитися в оснащенні services.msc. При кожному завантаженні Windows ця служба чекає закінчення автозапуску і зберігає свіжий звіт в файл

C: \ Windows \ System32 \ wdi \ LogFiles \ BootCKCL.etl

Як і в Windows 7, на його основі створюються записи в журналі Diagnostics-Performance . Але в Windows поряд з ними з'являються XML-файли для диспетчера задач. Відкриємо звіт?

Знайомство з новою версією Windows Performance Analyzer

власники книги про прискорення завантаження Windows вже знайомі з попередньою версією цього інструменту, оскільки саме з його допомогою я розбирав етапи завантаження Windows 7 . У Windows ADK засоби діагностики і оцінки продуктивності системи стали потужнішими і ... прекрасніше :)

збільшити малюнок
збільшити малюнок

Втім, графічний інтерфейс WPA може відлякати новачків, тому я коротко розкажу про його основні функції.

Завантаження і установка

скачайте Windows ADK і встановіть засоби для оцінки продуктивності (виділені синім на малюнку).

збільшити малюнок
збільшити малюнок

Після цього звіти у форматі ETL почнуть відкриватися в WPA подвійним клацанням.

Вибір графіка і зміна виду відображуваних даних

Вхідні в звіт графіки відображаються в Graph Explorer, який можна перемикати сполучення клавіш Ctrl + G. Клацання по заголовку графіка відкриває список дочірніх графіків.

До речі, щоб відкрити графік, можна перетягнути його з панелі Graph Explorer на кнопку нової вкладки.

У новому WPA з'явилася панель інструментів, що спрощує змінювати вигляд графіка і відкриває доступ до додаткових параметрів.

збільшити малюнок
збільшити малюнок

  1. Обраний вами графік.
  2. Тип представлення даних на графіку. Зірочка вказує на те, що обраний тип відрізняється від стандартного.
  3. Вид діаграми.
  4. Редактор виду графіків, де можна задати відображаються стовпці, а також параметри сортування і угрупування для них. Там же ви можете налаштувати фільтри, про які я розповім нижче.
  5. Вид вікна, де у вас є вибір між таблицею, діаграмою і їх спільному відображенню.

Вибір даних для відображення в таблиці

У табличному режимі WPA показує встановлений набір даних для кожного типу графіка, але його легко змінити. Ви можете клацнути по заголовку будь-якого стовпця правою кнопкою миші і вибрати будь-який з доступних для графіка параметрів. А клацання лівою кнопкою миші по заголовку стовпця очікувано виконує сортування.

З великою кількістю процесів можна впоратися за допомогою фільтрів. Найпростіший спосіб - це фільтр в контекстному меню. Вибравши Filter to Selection, ви виключіть зі списку всі процеси крім обраних.

Вибравши Filter to Selection, ви виключіть зі списку всі процеси крім обраних

У складних ситуаціях допоможуть розширені фільтри, набір яких відповідає списку доступних в таблиці стовпців.

збільшити малюнок
збільшити малюнок

Врахуйте, що фільтри працюють кумулятивно, тобто стандартно використовується умова AND. Показаний на малюнку вище набір марний, але його легко скорегувати, додавши між фільтрами умова OR.

збільшити малюнок
збільшити малюнок

За допомогою цього фільтра я і отримав скорочений список процесів, показаний на зображенні вище з контекстним меню. До речі, пошук запускається звичним поєднанням клавіш Ctrl + F, і умови в ньому задаються аналогічно.

На закінчення цього міні-огляду зазначу, що вид відкритого ETL-файлу, включаючи всі поточні настройки вкладок, можна зберегти з меню File - Export Session. Тепер ви озброєні для вивчення автозапуску Windows!

Автозавантаження Windows крізь призму WPA

У файлі BootCKCL.etl міститься короткий звіт про завантаження, протоколюється три компонента.

Нагадаю, що вплив програм на швидкість запуску Windows оцінюється на основі процесорного часу і обсягу дискової активності. Зазначу, що я не знайшов у звіті ETL саме тих значень, що вказані в XML-файлах для диспетчера задач, хоча картина аналогічна. Залишається припустити, що перед записом в XML виробляються якісь додаткові обчислення.

Використання процесора

У графіку CPU Usage (precise) я вибрав уявлення Utilization by Process, Thread, після чого отфильтровал непотрібні процеси з таблиці і додав стовпець CPU Usage (ms).

Порівняйте цю картину з диспетчером задач на першому малюнку статті. Виділені процеси символізують кордону між трьома ступенями впливу програм на швидкість завантаження Windows. Схоже, чи не так?

дискова активність

У графіку Disk Usage я вибрав уявлення Utilization by Process, IO Type і додав в таблиці стовпець Size.

Зверніть увагу на процеси itype.exe (драйвер клавіатури Microsoft) і Snagit32.exe. За навантаженням на CPU вплив цих програм на швидкість запуску Windows можна оцінювати як середнє. Однак саме через високу дискової активності їм присвоєно високу ступінь впливу.

Справа про автозавантаження Windows в новому ракурсі

Пам'ятайте, як Холмс просив Ватсона зробити лог завантаження за допомогою Process Monitor? Якби міс Фінлі працювала в Windows 8 або більше нової системи, детектив зміг би дати відповідь не просто швидше, а моментально. Він би відразу попросив надіслати йому останній XML-файл зі звітом про завантаження!

Батьківський процес

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

збільшити малюнок
збільшити малюнок

Погодьтеся, що надіслати крихітний текстовий файл можна набагато швидше, ніж великий журнал завантаження Process Monitor. В принципі, щоб вирішити проблему міс Фінлі в Windows 7, Холмс міг би обійтися і звітом BootCKCL.etl, також знаходився на диску.

На графіку Lifetime by Process можна додати стовпці Process ID і Parent Process ID, тобто ідентифікатори процесу і батьківського процесу відповідно.

На графіку Lifetime by Process можна додати стовпці Process ID і Parent Process ID, тобто  ідентифікатори процесу і батьківського процесу відповідно

Оскільки ВД 2024 належить процесу explorer.exe, виділені програми запускаються класичної оболонкою Windows зі стандартних розташувань автозавантаження.

Відкладене автозавантаження

У Windows 8 в черговий раз зроблена спроба знизити вплив програм в автозавантаження на швидкість запуску системи. Досить перезавантажити систему, щоб побачити, як програми з автозавантаження починають з'являтися тільки після відображення початкового екрана і навіть переходу на робочий стіл.

WPA дуже наочно відображає розподіл автозавантаження програм за часом. Варто додати стовпець Start Time (s), відфільтрувати зайве, і все буде видно як на долоні.

Варто додати стовпець Start Time (s), відфільтрувати зайве, і все буде видно як на долоні

Процес explorer.exe запустився через 21 секунду після старту Windows, але лише через 15 секунд після нього почали стартувати програми з автозавантаження, причому остання з них запустилася тільки через 42 секунди.

Така поведінка неможливо нейтралізувати повністю, але можна значно скоротити затримку запуску програм, використовуючи секретний параметр StartupDelayInMSec в призначеному для користувача розділі реєстру.

Звичайно, знайдуться люди, яких і це не влаштує, але у них ніхто не відбирає можливість розподілити автозагрузку за часом за допомогою планувальника завдань ! Холмс наочно проедмонстріровал це в справі про автозавантаження Windows.

Рекомендації Microsoft розробникам програм

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

Microsoft може придумувати різні трюки, намагаючись нівелювати вплив програм на швидкість завантаження Windows. Але компанія безсила в іншому аспекті - енергоспоживанні класичних програм!

У Windows 8 з'явилися різні поліпшення, покликані продовжити роботу ноутбуків, ультрабуків і планшетів від батарей. Мабуть, найпомітнішим нововведенням є сучасні програми, які йдуть «в сон», коли ви переключаєтеся в інше вікно. І так, їх неможливо помістити в автозавантаження;)

У моїй аудиторії практично немає розробників, але я спеціально хочу розповісти вам про рекомендації Microsoft щодо автозапуску програм . Адже вони малюють Windows такою, якою її хотіли б бачити творці.

Я ще раз хочу підкреслити, що ці поради - для авторів програм. Якщо ви хочете додати класичну програму в автозавантаження, це ваша особиста справа, і ніхто цьому не перешкоджає. Однак Microsoft не рекомендує розробникам наповнювати автозапуск своїми творіннями, дублюючими функції Windows, або мають альтернативні можливості реалізації з більш економічним енергоспоживанням.

дискусія

А ви вже користувалися новими інструментами для оцінки продуктивності Windows з нового ADK? Розкажіть, що ви аналізували.

Якщо ви вперше бачите WPA і зацікавилися ним, пропоную вам домашнє завдання. Вивчіть свій лог завантаження і опублікуйте в коментарях скріншот розподілу автозапуску програм за часом. Цей досвід стане в нагоді вам, коли в одному з майбутніх матеріалів ми будемо аналізувати завантаження Windows 8.

Обговорення завершено.

Відкриємо звіт?
Схоже, чи не так?
Меню сайта
Мини-профиль
  • Регистрация Напомнить пароль?

    Бесплатно можно смотреть фильмы онлайн и не забудьте о шаблоны dle на нашем ресурсе фильмы бесплатно скачать c лучшего сайта
    Опросы
    Топ новости