Niepoprawne czasy przestoju zgłaszane przez Menedżera zadań i WMI. Odśwież ręcznie

2016-07-18 15:32:07
Główny·Microsoft·Niepoprawne czasy przestoju zgłaszane przez Menedżera zadań i WMI. Odśwież ręcznie

Karta Wydajność w Menedżerze zadań (sekcja Procesor) pokazuje informacje o czasie działania systemu, ale możesz się zastanawiać, dlaczego czas uruchamiania nie zgadza się z raportowanymi danymi czasu działania.

Wynika to z faktu, że Menedżer zadań lub WMI nie odliczają czasu uśpienia / hibernacji podczas obliczania czasu sprawności. A przy włączonym i domyślnie włączonym szybkim uruchamianiu w Windows 8 i Windows 10 raportowany czas działania może nie być skorelowany z faktycznym czasem ostatniego uruchomienia.

Przyczyna

Szybki start to hybryda zimnego uruchamiania + hibernacji. Po wyłączeniu komputera z włączonym szybkim uruchomieniem konta użytkowników są całkowicie wylogowywane. Następnie system przechodzi w tryb hibernacji (zamiast tradycyjnego zimnego zamykania), dzięki czemu następne uruchomienie do ekranu logowania będzie szybsze (30-70% szybciej).

Różne sposoby znalezienia przestoju systemu

Istnieje kilka metod wyszukiwania Uptime komputera, wszystkie przy użyciu WMI.

PowerShell

 [DateTime] :: Teraz - [Management.ManagementDateTimeConverter] :: ToDateTime ((Get-WmiObject Win32_OperatingSystem) .LastBootUpTime)) 

Oto informacje o czasie działania.

Informacja o systemie

W oknie wiersza polecenia uruchom:

 informacje systemowe | znajdź / i „Czas rozruchu” 

Statystyka netto

W oknie wiersza polecenia uruchom:

 stacja robocza statystyki netto 

WMIC (interfejs wiersza polecenia WMI)

 wmic os dostać lastbootuptime 

To czas WMI. Ale dokładnie oznacza to samo co powyżej 1 i 2.

Narzędzie Microsoft Uptime.exe

Czas działania pokazał to samo.

Menadżer zadań

Menedżer zadań i WMI pokazują nieprawidłowy czas pracy

Każda powyższa metoda wykazywała ten sam czas pracy, różniący się tylko o kilka sekund / minut, ze względu na czas potrzebny na wykonanie zrzutów ekranu dla każdego elementu.

Ale faktem jest, że czas pracy jest pokazywany przy użyciu każdej metody, która obejmuje również czas hibernacji. Rzeczywisty czas pracy powinien wynosić 5 godzin, 55 minut od chwili ( 08:24 PM ) Piszę ten post. Możesz to sprawdzić, sprawdzając zdarzenia zamykania i logowania w Podglądzie zdarzeń.

Odświeżanie czasu sprawności

Uruchomienie następującego polecenia powoduje całkowite wyłączenie (zimne wyłączenie) systemu. Ale zalety szybkiego uruchamiania nie będą dostępne przy następnym uruchomieniu.

 wyłączenie / s / t 0 

(lub)

Kliknij Start, Zasilanie i kliknij Uruchom ponownie (zamiast Shutdown)

Wyłączanie szybkiego uruchamiania

Jeśli chcesz wyłączyć szybkie uruchamianie, możesz to zrobić za pomocą Opcji zasilania.

  • Otwórz Panel sterowania, Opcje zasilania.
  • Kliknij Wybierz działanie przycisków zasilania
  • Kliknij Zmień ustawienia, które są obecnie niedostępne
  • Odznacz Włącz szybkie uruchamianie (zalecane) i kliknij OK.

Odśwież czas pracy bez wyłączania szybkiego uruchamiania

  1. Uruchom Services.msc i zatrzymaj usługę Instrumentacji zarządzania Windows.
  2. Zostaniesz poproszony o zatrzymanie usług zależnych. Kliknij Tak.
  3. Otwórz folder C:\Windows\System32\Wbem\Repository
  4. Usuń wszystkie pliki tam.
  5. Uruchom ponownie system Windows. Zauważysz, że czas Up pokazuje rzeczywisty czas ostatniego uruchomienia przy użyciu dowolnej z powyższych metod, w tym Menedżera zadań.

Problem polega jednak na tym, że trzeba wyczyścić repozytorium WMI przy każdym zamknięciu, w przeciwnym razie czas przestoju będzie nadal pokazywał sumaryczną liczbę.

Utwórz plik wsadowy i uruchom jako skrypt zamykający (Windows Pro Editions i nowsze wersje)

Możesz utworzyć plik wsadowy o następującej treści:

 net stop iphlpsvc>d:\wmireset.txt net stop ncasvc>>d:\wmireset.txt net stop sharedaccess>>d:\wmireset.txt net stop wscsvc>>d:\wmireset.txt net stop winmgmt>>d:\wmireset.txt sc query winmgmt>>d:\wmireset.txt rd /s /q "C:\Windows\System32\wbem\repository">>d:\wmireset.txt md "C:\Windows\System32\wbem\repository" date /t>>d:\wmireset.txt time /t>>d:\wmireset.txt 

To zapisuje dane wyjściowe pliku wsadowego wraz ze znacznikiem czasu do pliku tekstowego o nazwie wmireset.txt, aby wiedzieć, kiedy był ostatnio uruchamiany plik wsadowy.

Następnie otwórz Edytor lokalnych zasad grupy (gpedit.msc) i przejdź do:

Konfiguracja komputera> Skrypty (uruchamianie / zamykanie)

Dodaj tam swój plik wsadowy i kliknij OK. Uruchom ponownie system Windows i sprawdź czas działania. Sprawdź także, czy czas działania jest odświeżany w kolejnych uruchomieniach. Chociaż nie przeprowadziłem testów porównawczych szybkich czasów uruchamiania przed wyczyszczeniem repozytorium WMI i później, może to opóźnić czas uruchamiania, ponieważ system Windows musi odbudowywać repozytorium przy każdym uruchomieniu.

Wybór Redakcji