Як я можу проаналізувати проблему продуктивності, яка виникає до або під час входу в систему?
Як я можу проаналізувати проблему продуктивності, яка виникає до або під час входу в систему?
Відповіді:
Монітор процесів - це інструмент, який збиратиме файлову систему, реєстр та мережеві події для всіх запущених процесів. Потім зібрані події можна проаналізувати, щоб визначити, як система (або додаток) поводиться внутрішньо в певних ситуаціях.
У цьому випадку ми хочемо за допомогою інструменту визначити, які події під час завантаження потребували тривалого часу.
Завантажте Монітор процесів і запустіть його.
У меню Параметри встановіть прапорець Увімкнути журнал завантаження .
У діалоговому вікні, що з'явився, поставте прапорець Створити події профілювання та натисніть кнопку ОК .
Перезавантажте систему та повторіть проблему. Після завершення процесу входу запустіть Process Monitor.
Монітор процесів сповістить вас, що він збирав активність під час завантаження, і запитає, чи бажаєте ви зберегти ці дані зараз. Підтвердьте процес, натиснувши Так .
Виберіть для .pml
файлу відповідне місце зберігання та дочекайтеся конвертації даних. Після завантаження даних виведіть стовпчик " Тривалість ", відкривши контекстне меню на одній із заголовків стовпців та натиснувши Вибрати стовпці ...
... і встановити відповідний прапорець у діалоговому вікні, що виходить.
Створіть новий фільтр, вибравши Фільтр ... * у меню ** Фільтр .
Створіть фільтр для стовпця « Тривалість», де він перевищує значення 1 , і в цьому випадку запис повинен бути включений . Клацніть Додати, щоб додати фільтр до списку та підтвердити вибір за допомогою OK .
На даний момент у списку подій у "Моніторі процесів" відображатимуться лише події, на виконання яких пішло більше 1 секунди. Ви хочете перевірити стовпець " Тривалість " на наявність подій, які тривали тривалий час.
Для демонстраційних цілей наведено підбірку подій, на завершення яких пішло більше 10 секунд. Це було зафіксовано у віртуальній машині для демонстраційних цілей.
Хоча ці події не обов'язково повинні бути винуватцями блокування завершення процесу входу, відключення служби індексації Windows та антивіруса Avast може бути вагомим для цього встановлення.
xperf - це інструмент аналізу продуктивності з інструментарію Windows Performance Toolkit. Використання його та можливість аналізу зібраних даних може бути проблемою. Тим не менш, ми побачимо, як зібрати необхідні дані та як переглянути відповідні розділи.
Зауважте, що комплект для оцінювання та розгортання Windows (ADK), необхідний для цього, працює лише в Windows 7 і вище.
Завантажте Windows ADK та встановіть принаймні компонент Windows Toolkit Toolkit .
Після завершення установки відкрийте командний рядок підвищеного рівня.
Перейдіть до каталогу, де ви хочете, щоб ваш слід знаходився. Як робочий стіл.
Рекомендований спосіб (відповідно до використання XBOOTMGR для зйомки повільних черевиків або повільних логотипів, викликаних повільними черевиками ) для захоплення сліду під час завантаження:
xbootmgr -trace boot -traceflags base+latency+dispatcher -stackwalk profile+cswitch+readythread -notraceflagsinfilename -postbootdelay 10
Тепер система ініціює трасування та перезавантаження.
Після перезавантаження дотримуйтесь інструкцій на екрані. Вас попросять дозволити підвищити процес збирання. Після завершення процесу ви знайдете отриманий слід у папці, з якої ви ініціювали трасування.
У моєму випадку він створив boot_1.etl
(і відповідний boot_1.cab
) на робочому столі.
Відкрийте .etl
файл в аналізаторі продуктивності Windows .
Після відкриття сліду ви вже можете бачити можливі вказівки на те, що ваша проблема пов'язана з обладнанням. Швидкий погляд на огляди обчислень , зберігання та пам’яті у програмі Graph Explorer показав би піки, які слід додатково проаналізувати.
Для демонстраційних цілей, давайте подивимося на її використання Process графіка. Щоб відобразити вміст, просто двічі клацніть графік, щоб додати його до подання Аналіз .
Зауважте, що жоден із графіків не відображає жодних піків. Сині вершини на початку належать до системного процесу і, як очікується, відбудуться в цей час.
Інші піки в графіку використання CPU можуть бути краще розглянуті в контексті. Отже, додамо ще один графік до подання Аналіз. Графік, який ми шукаємо, - це графік Фази завантаження , який розташований у розділі " Системна активність ".
На скріншоті вище, я також додав графік " Загальні події " внизу, щоб забезпечити додатковий контекст. Однак тут слід зазначити той факт, що перший видимий пік використання процесора був спричинений службою Avast. Ми вже помічали в аналізі Process Monitor, що цей процес був одним із процесів, який займав значну частину часу в процесі завантаження.
Що ми бачимо тут, зараз ми можемо побачити його в контексті завантаження фаз, є те , що пік стався після того, як в Winlogon Init фази (і навіть в Post завантаження фази , яка відбувається , коли ви вже можете бачити на робочому столі). Тож можна вважати малоймовірним, що цей процес насправді викликає у нас проблему у фазі, перш ніж ми побачимо робочий стіл.
Що ми б шукали - це події, які відбуваються у фазі Вінлогона Ініта або навколо неї . Щоб зробити це простіше, ви можете вибрати фазу на графіку Фази завантаження. Це дозволить виділити всі записи у всіх графіках, що відбулися на цій фазі.
Графік для кращого розгляду - це, безумовно, графік Служб , оскільки більшість із них запускаються під час фази Winlogon Init.
Як я вже говорив у вступі, аналіз цих даних може бути складним, якщо тільки проблема не вискочить у вас відразу після того, як ви відкриєте слід. Однак це, безумовно, правильний інструмент для аналізу проблеми. Залежно від ситуації, ви можете навіть захотіти зібрати сліди стека, щоб просвердлити ще глибше. Цей процес далеко не виходить за межі цієї посади.