System Windows 8 zgłasza NIEPRAWIDŁOWY czas działania (prawdopodobnie całkowity czas działania Hybrid-Boot)

10

Zły czas przestoju

Czas działania pokazany na zdjęciu wynosi 6 dni, 1 godzina, 34 minuty i 22 sekundy. Włączyłem tego laptopa około 7 minut temu.

Właściwie to tak myślę, że Windows 8 zgłasza całkowity czas działania w trybie Hybrid-Boot. Jak uzyskać rzeczywisty czas pracy? Ponadto, dlaczego system Windows zgłasza to w ten sposób?

Czy jest jakiś sposób na uzyskanie rzeczywistego czasu pracy w trybie GUI (dla mojego przyjaciela n00b)?


AKTUALIZACJA: Wyłączyłem Hybrid-Boot i uruchomiłem ponownie. To teraz zapewnia odpowiedni czas sprawności. Również pełne zamknięcie systemu shutdown /s /t 0również działa.

Trochę więcej wyjaśnień , moje pytanie brzmi: jak uzyskać faktyczny czas działania (czas od momentu włączenia systemu), nawet jeśli Hybrid-Boot jest włączony? Prawdopodobnie w magazynie Windows bez żadnego zewnętrznego programu, choć nie jest to konieczne.


Jakieś wytłumaczenie tego?

Akshat Mittal
źródło
1
Czy potrafisz wyjaśnić, co rozumiesz przez „czas bezczynności”? Co dokładnie zrobiłeś 7 minut temu?
David Schwartz
Rzeczywisty czas działania oznacza rzeczywisty czas od momentu włączenia systemu. (Tak zrobiłem 7 minut temu, włącz laptopa!)
Akshat Mittal
8
Starszą definicją czasu dostępności jest czas działania komputera od momentu zainicjowania jądra. Ponieważ rozruch hybrydowy jest tylko specjalnym rodzajem zawieszenia (wcześniej było zawieszane w RAM i Hibernacji), nie liczy się to jako „zamykanie”, ponieważ używana jest ta sama instancja jądra systemu Windows.
allquixotic
@allquixotic Prawda, dlatego pomyślałem, że będzie to czas rozruchu hybrydowego.
Akshat Mittal
Chyba tak naprawdę nie masz pytania. Chcę zapytać, jak uzyskać faktyczny czas działania, nawet gdy włączony jest Hybrid-Boot. Aktualizuję pytanie.
Akshat Mittal

Odpowiedzi:

5

Chcesz znaleźć gotowe rozwiązanie, aby dowiedzieć się, jak długo działa komputer od ostatniego zamknięcia hybrydowego / szybkiego uruchomienia, prawda?

Możesz uzyskać te informacje (dostarczone przez @allquixotic) z EventLog za pomocą PowerShell w następujący sposób:

PS c:\> Write-Host $("{0:c}" -f ((Get-Date)- (Get-EventLog -LogName system -Source "Microsoft-Windows-Power-Troubleshooter" -Newest 1).TimeGenerated))

Aby osadzić polecenie PowerShell w skrypcie powłoki systemu Windows, możesz to zrobić w zamian:

c:\> powershell.exe -nologo -command Write-Host $('Time since last ''Fast Startup'': {0:c}' -f ((Get-Date)- (Get-EventLog -LogName system -Source \"Microsoft-Windows-Power-Troubleshooter\" -Newest 1).TimeGenerated))

Jednak, aby uzyskać to po wyjęciu z pudełka, możesz zamiast tego ustawić stałą zmienną środowiskową:

c:\> setx HardwareUptime "powershell.exe -nologo -command Write-Host $('Uptime since last ''Fast Startup'': {0:c}' -f ((Get-Date)- (Get-EventLog -LogName system -Source 'Microsoft-Windows-Power-Troubleshooter' -Newest 1).TimeGenerated))"

więc możesz go uruchomić, otwierając cmdokno i wykonując:

c:\> %HardwareUpTime%

AKTUALIZACJA:

Właśnie odkryłem dzisiaj, że użycie powyższego wpisu w dzienniku zdarzeń będzie również uwzględniać „tryb uśpienia” lub tryb zawieszenia, więc uruchomienie %HardwareUpTime%pokaże ci czas, jaki upłynął od powrotu komputera do trybu uśpienia, jeśli na to pozwolisz.

Dlatego tutaj jest:

setx HardwareUptime "powershell.exe -nologo -command Write-Host $('Uptime since hardware boot: {0:c}' -f ((Get-Date)- (Get-EventLog -LogName system -InstanceId 27 -Newest 1).TimeGenerated)); Write-Host $('Uptime since system resumed: {0:c}' -f ((Get-Date)- (Get-EventLog -LogName system -Source 'Microsoft-Windows-Power-Troubleshooter' -Newest 1).TimeGenerated));"

Zmodyfikowałem nieco to polecenie, aby było bardziej jednoznaczne i zawierało obie informacje:

  • Czas, który upłynął od uruchomienia systemu Windows (po hybrydowym wyłączeniu, pełnym zamknięciu lub zwykłym ponownym uruchomieniu lub hibernacji).

  • Czas, który upłynął od wznowienia działania systemu Windows (po powrocie z trybu uśpienia).

UWAGA: Jeśli system nie zasypiał pomiędzy, oba czasy będą takie same.

asm00
źródło
To wydaje mi się miłym rozwiązaniem.
Akshat Mittal,
4

Zaczerpnięte stąd :

Sprawdź dziennik zdarzeń systemu Windows.

  1. Naciśnij Windows Key+r

  2. Wpisz w polu %windir%\system32\eventvwr.msc /s

  3. Kliknij „Utwórz widok niestandardowy ...” po prawej stronie.

  4. Ustaw następujące ustawienia: narzędzie do rozwiązywania problemów z zasilaniem

  5. Kliknij OK

  6. Po wyświetleniu monitu nadaj niestandardowy widok nazwie (może to być dowolna opcja)

  7. Wyświetli listę czasów wznowienia

allquixotic
źródło
Ok, miło. To jest coś, czego chcę. Co jeśli jestem n00b? Po prostu nie jest odpowiedni. Wynika także z ostatniego czasu wznowienia , dla czasu przestoju muszę go pomniejszyć od bieżącego czasu. Czy istnieje jakakolwiek bezpośrednia metoda na czas działania, może w wierszu poleceń? Głosuję, ale nie akceptuję.
Akshat Mittal
Dla tego AFAIK nie ma rozwiązania w folię termokurczliwą. Musisz napisać program. Może zrobię ....
allquixotic 11.03.13
Okej, może spróbuję później.
Akshat Mittal
1

Powinieneś wyłączyć Hybrid-Boot i zrestartować komputer. Powinien wyświetlać odpowiedni czas sprawności. Również pełne zamknięcie systemu shutdown /s /t 0również działa.

Kruug
źródło
Dokładnie to napisałem w Aktualizacji
Akshat Mittal
@AkshatMittal Tak, ale pomyślałem, że chcesz zaakceptować odpowiedź :)
Kruug
Nie. Pytanie brzmi: „Jak uzyskać rzeczywisty czas pracy w formie graficznego interfejsu użytkownika?”
Akshat Mittal
Cóż, najpierw musisz wyłączyć swój Hybrid-Bootczas pracy, licząc od momentu zainicjowania jądra. To jedyny sposób.
Kruug,
Jedyny sposób, na pewno?
Akshat Mittal
0

dzieje się tak również w przypadku starszych wersji (XP, Vista, 7) hibernation. Czas zostanie full bootzresetowany tylko wtedy, gdy wykonasz , ale szybki start Win8 nie jest już pełnym uruchomieniem. Jest to kombinacja wylogowania użytkownika + hibernacji.

magicandre1981
źródło