Hur Windows 8 Task Manager beräknar "Starteffekt" för appar
Om du är en Windows 8-användare måste du ha observerat att den nya Aktivitetshanteraren har en Startup-flik för att hantera applikationer som laddas vid start. Den innehåller en intressant kolumn "Starteffekt":
Jag skulle vilja förklara för dig exakt vad värdena för "startpåverkan" betyder och hur de beräknas för varje applikation.
När du för muspekaren över kolumnrubriken visar Aktivitetshanteraren oss vad kolumnens värden betyder via ett verktygstips:
De exakta värdena för påverkan på apparnas starthastighet bestäms och klassificeras enligt följande:
- Hög - applikationen använder mer än 1 sekund (det vill säga 1000 millisekunder) CPU-tid eller mer än 3 MB disk I/O
- Medium - applikationen använder 300 till 1000 ms CPU-tid eller 300KB till 3MB disk I/O
- Låg - applikationen använder mindre än 300 millisekunders CPU-tid och mindre än 300 KB disk I/O
- Inte mätt - betyder att programmet inte kördes vid start. Vanligtvis visas ett sådant värde för appar som avinstallerades men som fortfarande kan vara registrerade för att köras vid start. I det här exemplet ovan har jag avinstallerat Windows Live Messenger när jag bytte till Skype.
Hur Task Manager hämtar dessa värden för varje app vid start
Under huven på kolumnen "Startup Impact" i Task Manager finns WDI - Windows diagnostikinfrastruktur.
Vid varje start spårar den startappar och skapar loggfiler på följande plats:
C:\Windows\System32\wdi\LogFiles
För att komma åt den här platsen måste du först öppna platsen C:\Windows\System32\wdi. Utforskaren kommer att berätta att du inte har tillgång till mappen. Klicka på "Fortsätt" så visas innehållet. Öppna sedan mappen "LogFiles" i den och klicka på "Fortsätt" igen.
De BootCKCL.etl fil kommer att genereras vid varje start och innehåller all data som är relaterad till appstart. Jag kan öppna den med "Windows Performance Analyzer" som kommer med Visual Studio 2012. Om du inte har Visual Studio 2012 installerat kan du installera Windows Assessment and Deployment Kit (ADK) för att få Windows Performance Analyzer.
Med Windows Performance Analyzer kan vi se de exakta startprestandavärdena i vyn "Detaljer":
Som visas i skärmdumpen ovan har Skype mer än 1 sekunds CPU-tid, det är därför den är klassad med ett "startpåverkan"-värde på "Hög".
Men Task Manager i Windows 8 använder inte BootCKCL.etl fil direkt. Det finns flera XML-rapporter som genereras under uppstart, baserade på filen BootCKCL.etl. De finns i C:\Windows\System32\wdi\LogFiles\StartupInfo mapp och namngiven efter användarens säkerhets-ID (SID).
Hur man får SID för ditt användarkonto
Du kan få SID med följande kommando:
wmic användarkonto få namn, sid
Du bör öppna kommandotolken som administratör (använd snabbtangenten Win+X) och skriv sedan kommandot som nämns ovan. Du kommer att få något sånt här:
Det finns flera filer för varje SID. Öppna den senaste filen genom att titta på kolumnen "Modifierat datum" och för lämplig SID. Du kommer att se data som Aktivitetshanteraren använder för att visa dig starteffektvärdena. De är ganska lika de data som lagras i BootCKCL.etl fil.
Nu vet du vad kolumnvärdena för "Starteffekt" exakt betyder och du kan använda den för att diagnostisera vilken app som orsakar långsam start. Dela med oss vilka appar som startar långsammast på ditt system (de som har "hög" effekt).
Via Vadim Sterkin