Windows 8.1 und der Standby (Energiesparmodus)

zed187

Enthusiast
Thread Starter
Mitglied seit
16.11.2006
Beiträge
1.241
Mit Installation von Windows 8 musste ich mich erstmalig mehrere Stunden mit dem Problem beschäftigen, dass mein PC nicht mehr selbstständig in den Standby wechselt. Nur die Monitore gehen aus.

Nach langem hin und her mit der powercfg über die Konsole ("POWERCFG /REQUESTS" um alles auszugeben welches den Energiesparmodus behindert und "POWERCFG /ENERGY" um eine ausführliche Log zu erzeugen), habe ich als Blocker zum einen den Creative X-Fi Treiber gefunden und Google Chrome.
Diese beiden habe ich mit "POWERCFG /REQUESTSOVERRIDE PROCESS chrome.exe DISPLAY SYSTEM" und "POWERCFG /REQUESTSOVERRIDE DRIVER "Creative X-Fi Audio Processor (WDM)" SYSTEM" eingestellt und das Problem war behoben.

Seit Update auf 8.1 ist das Problem wieder akut. Das erneute hinzufügen bringt keine Besserung. Ich habe nach und nach aus dem Task-Manager Prozesse beendet und mit 1 Minute Einstellung getestet ob er vollständig in den Standby geht, keine Änderung...

Ich habe weiter getestet:
- VMWare Workstation deinstalliert
- Netzkarten deaktiviert
- POWERCFG /REQUESTS zeigt mittlerweile keine Blocker mehr an
- Erweiterte Energieoptionen geprüft:
- "Hybriden Standbymodus zulassen" -> an/aus
- "Einstellungen für selektives USB-Energiesparen" -> an/aus
- "Bei der Freigabe von Medien" -> "Der Computer kann in den Energiesparmodus wechseln"
- Wiedergabegeräte/Aufnahmegeräte: "Anwendungen haben alleinige Kontrolle über das Gerät" -> an/aus
- Im BIOS Suspendmode geprüft -> S3 bereits eingestellt
- Windows Updates geprüft, nichts neues
- NVIDIA Treiber neu

Alles ohne Erfolg.

Nun habe ich mir das Tool MCE Standby Tool geladen und geprüft. Hier gibt es eine Einstellung für den Suspend Mode, die nicht gesetzt ist, hier habe ich nun S3 eingetragen und den PC neugestartet. Nach weiteren 5-10 Versuchen stelle ich irgendwann fest, das er nun nach ca. 5 Minuten manchmal in den Standby geht. Betonung auf manchmal, denn als ich dachte es endlich gelöst zu haben und die Zeit wieder auf 2 Stunden stelle und mir mit XBMC einen Film anschaue, stelle ich hinterher erneut fest das die Kiste wieder die ganze Nacht durch lief...

Langsam nervt mich das tierisch, denn erst seit 8.1 habe ich wieder das Problem und diesmal scheint es nicht so "einfach" nach mehreren Stunden lösbar zu sein. Natürlich habe ich auch Google bemüht und es gibt unzählige Berichte, wo es heißt, dass nach Update auf 8.1 der Standby nicht mehr geht. Lösungen dagegen gibt es verschiedene die aber nicht bei jedem helfen.

Hat jemand noch eine Idee?

Achja, hier mal Infos zu meinem System:
i7 930 @ ASUS SABERTOOTH X58 (Sockel 1366)
GTX 560 TI (2 GB) - 2 Monitore DVI+HDMI
GT 630 (1 GB) - 1 Monitor DVI
2x8 GB Ram
X-Fi Titanium PCIe x1
Zowie EC1 EvO (Maus ohne Software)
FILCO Majestouch-2 (per PS/2 und USB getestet)
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
(Um mir Ärger mit meinen SSDs (Controller, Firmware) zu ersparen, lasse ich meine PCs nie in den Standby.)

Du musst dich vllt mal mit den neumodischen S-States und C-States oder so befassen. Unsere Mobos/Bios sind ja schon etwas älter.

S-States windows 8.1 bios standby - Google-Suche

Einerseits will man sparen, andererseits geht der Trend dahin, dass die Gerätschaften ständig lauschen sollen, ins Internet, ins Wohnzimmer... Diese neuen Apps(!?) vllt...

Viel Spaß ;)
 
Zuletzt bearbeitet:
Deinen Hinweis auf die System Power States hilft mir nicht wirklich, ich kenne die Unterschiede von S0-S5 bereits und ich weiß das S3 für den Standby der gängigste ist, der auch in der Regel funktionieren sollte. Wie erwähnt habe ich bereits geprüft ob dieser im BIOS auch eingestellt ist. Zusätzlich habe ich durch das MCE Standby Tool die Vermutung, das Windows 8.1 vergessen hat welcher System Power State zu verwenden ist, hier habe ich ja S3 nachgetragen und seitdem ging der Standby zumindest manchmal.. hier muss ich noch genauer herausfinden unter welchen Bedingungen das der Fall ist :(

Auf den Standby zu verzichten ist keine Lösung, das kostet mich im Jahr ein paar hundert Euro mehr wenn die Kiste immer durchrennt. Feste Tasks für herunterfahren sind auch keine Alternative, da es keine festen Zeiten dafür gibt.

Trotzdem danke für deine Anmerkungen.

Achja, noch sehr interessant:
Der manuelle Standby klappt immer
 
Zuletzt bearbeitet:
Musst mal googlen, da gibt es so ein englischsprachiges Forum mit über 500 Seiten über das 8.1 Energiesparmodus-Problem! Denke das wird mit einem Update behoben, denn bei mir funktioniert das auch nur so selten und meistens nicht, nur wenn ich das manuell einstelle!
 
Ich rechne aktuell nicht mit einer Lösung von MS, da es ja bereits seit über einem Monat akut ist und auch nichts in dem Bereich von MS angekündigt wurde. Vermutlich schieben die das Fehlverhalten auf Drittanbietersoftware, die unter 8.1 den Standby blockieren.

Wie gesagt habe ich bereits google bemüht und mich nun ca 8 Stunden mit dem Problem beschäftigt. Ich bin mir sicher auch diesen Thread bereits überflogen zu haben. :(

Alles was ich bisher darüber gefunden habe, wurde oben von mir aufgelistet. Wenn noch jemand eine Idee hat die von mir noch nicht probiert wurde, wäre das eventuell noch mal hilfreich.

Alternativ überlege ich einen Test-PC mit 8.1 neu zu installieren und das Verhalten an dem zu prüfen und wenn es funktioniert nach und nach meine Software zu installieren und zu testen... aber das ist alles extrem zeitaufwendig -.-
 
Zuletzt bearbeitet:
Habe auch alles probiert... Nichts hat geholfen, bei mir funktioniert das (glaub nur) das erste Mal nach hochfahren dann nicht mehr, wenn überhaupt! Auf jeden Fall hat es unter 8 noch funktioniert.
 
Vielleicht mal andersrum... gibt es jemanden, bei dem der Standby unter 8.1 funktioniert? Wenn ja, mal bitte Systeminfos posten und die Software die so benutzt wird^^
 
Habe das Problem weiterhin und versuche noch immer mich hin und wieder mit zu beschäftigen, leider nach wie vor ohne Erfolg.

Ich habe einen guten Thread dazu gefunden:
Windows 8.1 won't sleep | fixedByVonnie

Leider helfen alle Anpassungen nicht. Weiterhin habe ich getestet ob es Benutzerabhängig ist zwischen Lokalem Konto und Live Konto, kein Unterschied. Netzkartentreiber von Realtek neu geladen, NVIDIA Treiber neu...

Manuelles Standby funktioniert ja problemlos, nur beim automatischen geht der Rechner nicht aus, sondern nur die Monitore.

Überlege mir eine eigene Energiesparverwaltung zu programmieren...
 
ich habe ein Vbscript gebaut welches das Problem umgehen soll. Es prüft ob ein Bildschirmschoner läuft oder ob der Willkommensbildschirm aktiv ist. Wenn ja, startet es den Sleepmode.

Um es zu verwenden muss man es in die Windows Aufgabenplanung mit dem Trigger "Leerlauf" hinzufügen. Ich muss es selbst noch intensiv testen... Zusätzlich sollte dann halt der Bildschirmschoner aktiviert werden.

Die Prüfung auf Bildschirmschoner und Willkommensbildschirm kann man auch weglassen, aber ich wollte verhindern das es unbeabsichtigt den Standby auslöst.

Code:
Set fso = CreateObject("Scripting.FileSystemObject")

scriptname = Wscript.ScriptFullName 
scriptpath = fso.getparentfoldername(scriptname)
logfile = scriptpath & "\suspend_vbs.log"

Dim welcomescreen, screensaver

welcomescreen = false
screensaver = false

If check_process("LogonUI.exe") Then
	call logtofile("LogonUI.exe running, user idle","",logfile)
	welcomescreen = true
End If

If check_process(".scr") Then
	call logtofile("Screensaver running, user idle","",logfile)
	screensaver = true
End If

If (welcomescreen or screensaver) Then
	call logtofile("Suspend now!","LogonUI: " & welcomescreen & " / screensaver: " & screensaver,logfile)
	call Suspend()	
Else 
	call logtofile("No Suspend!","LogonUI: " & welcomescreen & " / screensaver: " & screensaver,logfile)
End If

WScript.Quit(0)

Function Suspend()
	call logtofile("Start Suspend...","",logfile)
	Set ShellWSH = CreateObject("WScript.Shell")
	ShellWSH.Run "cmd /c powercfg -hibernate off", 0 , true
	ShellWSH.Run "cmd /c start /min %windir%\System32\rundll32.exe powrprof.dll,SetSuspendState 0,1,0", 0, true 'sleep
	'ShellWSH.Run "cmd /c start /min "%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Standby", 0, true 'standby
	'ShellWSH.Run "cmd /c start /min "%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Hibernate", 0, true 'hibernate	
	ShellWSH.Run "cmd /c powercfg -hibernate on", 0 , true
	Set ShellWSH = nothing
End Function

Function check_process(process)
	Dim objWMIService, objProcess, colProcess, strComputer

	strComputer = "."

	Set objWMIService = GetObject("winmgmts:" _
	& "{impersonationLevel=impersonate}!\\" _ 
	& strComputer & "\root\cimv2") 
		
	Set colProcess = objWMIService.ExecQuery _
	( "Select * from Win32_Process Where Name LIKE " & "'%" & process & "'" )
	
	' Known methods of Win32_Process Class:
		' objProcess.Name
		' objProcess.Terminate()
		' objProcess.WorkingSetSize
		' objProcess.PageFileUsage
		' objProcess.PageFaults
		' objProcess.ProcessID
	
	For Each objProcess in colProcess	
		check_process = true
		call logtofile(objProcess.Name,"Select * from Win32_Process Where Name LIKE " & "'%" & process & "'",logfile)
	Next

End Function

Function logtofile(info1,info2,logfile)	

	If ( fso.FileExists( logfile ) ) Then
		Set opentxt = fso.OpenTextFile(logfile, 8)
		opentxt.WriteLine Date & "/" & Time & " ; " & info1 & " ; " & info2
		opentxt.Close
	Else
		Set createtxt = fso.CreateTextFile(logfile)
		createtxt.WriteLine Date & "/" & Time & " ; " & info1 & " ; " & info2
		createtxt.Close
	End If
	
End Function

// funktioniert bei mir gut. Die Steuerung wird somit über den Bildschirmschoner geregelt, allerdings habe ich mich mal mit dem Trigger "Leerlauf" befasst und der berücksichtigt auch den Bildschirmschoner, somit könnte man diese Prüfungen auch wieder rausnehmen und ein simples suspend anstoßen...

Also hier mal die mini Variante:
Code:
	Set ShellWSH = CreateObject("WScript.Shell")
	ShellWSH.Run "cmd /c powercfg -hibernate off", 0 , true
	ShellWSH.Run "cmd /c start /min %windir%\System32\rundll32.exe powrprof.dll,SetSuspendState 0,1,0", 0, true 'sleep
	'ShellWSH.Run "cmd /c start /min "%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Standby", 0, true 'standby
	'ShellWSH.Run "cmd /c start /min "%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState Hibernate", 0, true 'hibernate	
	ShellWSH.Run "cmd /c powercfg -hibernate on", 0 , true
	Set ShellWSH = nothing
 
Zuletzt bearbeitet:
Das funktioniert dann aber nur, wenn vor dem Rechner jemand sitzt, oder?
Schlägt der Leerlauf-Trigger auch dann an wenn z.B. von dem Rechner etwas gestramt wird oder Zugriff auf Freigaben stattfindet?

Es kann auch sein, dass das kein generelles Problem von Windows 8.1 ist, sondern dir noch ein anderes Programm dazwischen funkt: powercfg /requests erfasst nur die Programme, die den Standby per PowerRequest unterdrücken. Es gibt (programmiertechnisch) allerdings noch eine andere Methode den Standby zu unterdrücken (SetThreadExecutionState). Wenn ein Programm die zweite Methode anwendet, taucht es nicht in er powercfg-Auflistung mit auf. In dem Fall hast du keine Möglichkeit herauszufinden, welches Programm das ist (SetThreadExecutionState ist hier eher die "Fire-and-forget" Methode).
Schau dir einfach mal alle installierten Programme an, die den Standby unterdrücken könnten. Gerade die ganzen Tools, die versuchen, den Standby-Zustand selbst zu verwalten, pfuschen oft in den Tiefen des Systems herum. Hier hast du dann meist ein Problem damit, den vorherigen Zustand wiederherzustellen.

Falls es doch ein generelles Problem von Win8.1 sein sollte, warte einfach mal den 8.4. ab. Vielleicht wurde ja hier mit dem Update etwas verändert.
 
Der Leerlauf Trigger funktioniert hervorragend und berücksichtigt auch CPU Last und daher auch streaming etc.

Ich teste heute 8.1 Update 1, habe aber keine Hoffnung. Programme habe ich schon so weit ausgeschlossen wie möglich, habe auch kaum Autostart Prozesse etc. Also ich hab aufgegeben das Problem auf normalen Wegen zu lösen... Trotzdem danke für deine Anteilnahme :P

Achja, danke für den Tip mit "SetThreadExecutionState", kann ich vielleicht noch mal gebrauchen.
 
Zuletzt bearbeitet:
OK, du hast vermutlich schon mit der Sache abgeschlossen, interessieren würde es mich trotzdem: Hat das Windows 8 Update hier irgend etwas verbessert/geändert?
 
Leider hat das Update nichts gebracht... wie erwartet.
 
Neue Möglichkeit gefunden den Fehler zu beheben wenn man auf IPv6 verzichten kann.

Habe es geschafft den Standby Modus wieder zuverlässig zum laufen zu bekommen.
Ich hab einfach alle Komponenten die IPv6 betreffen deaktiviert, außer den IPv6 Loopback.

1. IPv6 Unterstützung im Router deaktivieren
->je nach Router unterschiedlich
->Bsp. Fritzbox Link zu AVM Service

2. Deaktivieren des IPv6 Protokolls in der Netzwerkcontroller Einstellung
->Systemsteuerung
->Netzwerk- und Freigabecenter
->Adaptereinstellungen ändern
->Rechtklick auf das benutzten Netzwerkcontroller
->Eigenschaften
->Hacken bei Internetprotokoll Version 6 rausmachen
->OK

3. IPv6 Komponenten in der Reistry deaktivieren
->Klicken Sie auf Start
->Drücke Tastenkombination STRG+R dann regedit eingeben und Enter drücken
->gehe zu Registrierungsunterschlüssel HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\
->Doppelklicke auf DisabledComponents
->Hinweis, wenn der Eintrag DisabledComponents nicht verfügbar ist, muss er erstellt werden
->Rechtklick dann Neu
->klicken Sie anschließend auf DWORD-Wert (32-Bit)
->Tippe als Namen DisabledComponents ein und dann Enter.
->Doppelklick auf DisabledComponents
->folgenden Werte in das Feld eingeben: 0xffffffff
->alles schließen und PC neustarten

Das hat bei mir wunderbar funktioniert ;)
Habe seit dem keine Probleme mehr mit der Standby Funktion gehabt.

Quelle
Microsoft Support
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh