Как диспечера на задачите на Windows 8 изчислява „въздействието при стартиране“ на приложенията
Ако сте потребител на Windows 8, трябва да сте забелязали, че новият диспечер на задачите има раздел Стартиране за управление на приложения, заредени при стартиране. Той включва интересна колона „Въздействие при стартиране“:
Бих искал да ви обясня какво точно означават стойностите на „въздействие при стартиране“ и как се изчисляват за всяко приложение.
Когато задържите курсора на мишката си върху заглавката на колоната, диспечера на задачите ни показва какво означават стойностите на тази колона чрез подсказка:
Точните стойности на въздействие върху скоростта на стартиране на приложенията се определят и класифицират, както следва:
- Високо - приложението използва повече от 1 секунда (тоест 1000 милисекунди) време на процесора или повече от 3MB дисков I/O
- Среден - приложението използва 300 до 1000 ms време на процесора или 300KB до 3MB дисков I/O
- Ниска - приложението използва по-малко от 300 милисекунди време на процесора и по-малко от 300 KB дисков I/O
- Не се измерва - означава, че приложението не е стартирано при стартиране. Обикновено такава стойност се появява за приложения, които са били деинсталирани, но все още може да са регистрирани за стартиране при стартиране. В този пример по-горе, деинсталирах Windows Live Messenger, когато преминах към Skype.
Как диспечера на задачите получава тези стойности за всяко приложение при стартиране
Под капака на колоната "Въздействие при стартиране" на диспечера на задачите е WDI - Инфраструктура за диагностика на Windows.
При всяко стартиране той проследява стартиращи приложения и създава регистрационни файлове на следното място:
C:\Windows\System32\wdi\LogFiles
За да получите достъп до това местоположение, първо ще трябва да отворите местоположението C:\Windows\System32\wdi. Explorer ще ви каже, че нямате достъп до папката. Щракнете върху „Продължи“ и ще ви покаже съдържанието. След това отворете папката „LogFiles“ в нея и щракнете отново върху „Продължи“.
В BootCKCL.etl файл ще се генерира при всяко стартиране и съдържа всички данни, свързани със стартирането на приложението. Мога да го отворя с "Анализатор на производителността на Windows", който идва с Visual Studio 2012. Ако нямате инсталиран Visual Studio 2012, можете да инсталирате Комплект за оценка и внедряване на Windows (ADK) за да получите Windows Performance Analyzer.
Използвайки Windows Performance Analyzer, можем да видим точните стойности на производителността при стартиране в изглед "Подробности":
Както е показано на екранната снимка по-горе, Skype има повече от 1 секунда процесорно време, поради което е оценен със стойността на "въздействие при стартиране" на "Висока".
Въпреки това диспечера на задачите в Windows 8 не използва BootCKCL.etl файл директно. Има няколко XML отчета, които се генерират по време на стартиране въз основа на файла BootCKCL.etl. Те се намират в C:\Windows\System32\wdi\LogFiles\StartupInfo папка и наименувано на идентификатора на защитата (SID) на потребителя.
Как да получите SID за вашия потребителски акаунт
Можете да получите SID със следната команда:
wmic useraccount получи име, sid
Трябва да отворите командния ред като администратор (използвайте клавишната комбинация Win+X) и след това да въведете командата, спомената по-горе. Ще получите нещо подобно:
Има няколко файла за всеки SID. Отворете най-новия файл, като погледнете колоната им „Дата на промяна“ и за съответния SID. Ще видите данните, които диспечера на задачите използва, за да ви покаже стойностите на въздействието при стартиране. Те са доста сходни с данните, съхранявани в BootCKCL.etl файл.
Сега знаете какво точно означават стойностите на колоната „Въздействие при стартиране“ и можете да го използвате, за да диагностицирате кое приложение причинява бавно стартиране. Споделете с нас кои са най-бавно стартиращите приложения във вашата система (тези, които имат „високо“ въздействие).
Чрез Вадим Стеркин