Was passiert, wenn wir hiberfil.sys verkleinern?

17

Ich habe heute festgestellt, dass wir die Größe der Datei hiberfil.sys mit dem powercfg -H -size 100%Befehlszeilentool festlegen können . Was ändert sich, wenn wir den verfügbaren Speicherplatz ignorieren powercfg -H -size 50%? Ist die maximale RAM-Auslastung auf 50% begrenzt? Wird das System nicht in den Ruhezustand versetzt, wenn ich mehr als 50% des Arbeitsspeichers habe?


quelle
2
Das System stürzt mit diesem Bucheck ab ( msdn.microsoft.com/en-us/library/ff559341%28v=vs.85%29.aspx ), wenn der verwendete RAM größer ist, als die Ruhezustandsdatei speichern kann
magicandre1981

Antworten:

20

Ich habe ein Microsoft-Dokument bezüglich der Ruhezustandsdatei gefunden. Was es uns sagt, ist, dass der Inhalt des Speichers komprimiert wird, bevor er in die Ruhezustandsdatei verschoben wird, so dass die Einstellung einer geringeren prozentualen Größe der Ruhezustandsdatei die meiste Zeit von Vorteil ist, da weniger Speicherplatz verschwendet wird.

Windows unterstützt den Ruhezustand, indem der Speicherinhalt auf die Festplatte kopiert wird. Das System komprimiert den Speicherinhalt, bevor er auf der Festplatte gespeichert wird. Dadurch wird der erforderliche Speicherplatz auf weniger als die Gesamtmenge des physischen Speichers auf dem System reduziert.

Die korrekte Syntax für den Befehl sieht folgendermaßen aus:

PowerCfg.exe /HIBERNATE /SIZE 75

Das Dokument gibt auch an, dass, wenn die Ruhezustandsdatei zu klein ist, ein "Stop-Fehler" auftritt und die Codes angeben, um wie viel Sie die Ruhezustandsdatei vergrößern müssen.

Dadurch wird nicht die Größe des physischen RAM zur Verfügung , um Ihr System zu begrenzen.

Da die Datei komprimiert ist, ist das Verringern der Dateigröße kein Problem, wenn Sie nur selten 100% des verwendeten physischen Speichers erreichen und / oder der Speicher wahrscheinlich Daten enthält, die in der Regel komprimierbar sind.

Aus diesem Dokument:

Windows reserviert Speicherplatz für den Ruhezustand in der Ruhezustandsdatei mit dem Namen Hiberfil.sys. Unter Windows 7 entspricht die Standardgröße der Ruhezustandsdatei 75 Prozent des gesamten physischen Speichers auf dem System. Auf einem Computer mit 2 GB RAM beträgt die Standardgröße der Ruhezustandsdatei 1,5 GB.

In seltenen und extremen Fällen der Speichernutzung , einschließlich der Speicherüberprüfung durch eine Speicherleistung oder ein Testdienstprogramm, kann der Ruhezustand fehlschlagen, da der Speicherinhalt nicht ausreichend komprimiert werden kann , um in die Größe der Ruhezustandsdatei zu passen.

Ich würde es mit niedrigeren Zahlen versuchen, aber persönlich würde ich nicht so niedrig wie 50% gehen. Es könnte jedoch in Ordnung sein und das Schlimmste, was passieren wird, ist, dass der Ruhezustand ausfällt und Sie einen normalen Neustart durchführen und die Größe etwas größer einstellen müssen.

Mokubai
quelle
2
Danke für die Antwort. Ich weiß nicht über die offizielle, aber beide powercfg -H -size 100%und PowerCfg.exe /HIBERNATE /SIZE 75funktioniert ordnungsgemäß
1
Es sieht so aus, als ob der powercfgBefehl unter Windows 10 kein /SIZEArgument mehr akzeptiert - er ist zumindest nicht mehr dokumentiert, aber es wird kein Fehler erzeugt, wenn Sie ihn angeben.
Martineau
Als ich den Prozentsatz auf 60% senkte (Windows 7 SP1), wurde die Zeit für die Reaktivierung aus dem Ruhezustand erheblich verlängert. Bin ich der Einzige?
Deddebme
@martineau Es ist durchaus möglich, dass aufgrund des hybriden Herunterfahrens in Windows die Größe der Ruhezustandsdatei in ähnlicher Weise anpassungsfähig geworden ist wie die Auslagerungsdatei. Ich hatte keine Gelegenheit zu Nachforschungen, außer dass meine Ruhezustandsdatei ungefähr 35% meines System-RAM-Speichers ausmacht, aber ich bin nicht überrascht.
Mokubai
1
@intrepidis: Ich bin mir dessen voll bewusst. Wussten Sie, dass Sie, wenn Sie nur verwenden powercfg /?, eine viel längere Liste aller möglichen Parameter erhalten. Wenn Sie sie durchsehen, sehen Sie schließlich (sie sind nicht in alphabetischer Reihenfolge) den Eintrag für, -HIBERNATE, -Hund außerdem -H <ON|OFF>wird ein -H -Size <PercentSize>Wo akzeptiert, -Size Specifies the desired hiberfile size in percentage of the total memory. The default size cannot be smaller than 50. This switch will also enable the hiberfile automatically.das mit der verknüpften MS-Dokumentation übereinstimmt.
Martineau
4

Die Syntax in Windows 10 unterscheidet sich geringfügig

PowerCfg /h[ibernate] off

schaltet den Ruhezustand aus und entfernt die Datei C: \ hiberfil.sys

PowerCfg /h[ibernate] on

Schaltet die Funktion wieder ein und erstellt die Datei C: \ hiberfil.sys mit ungefähr der Größe des verfügbaren Speichers (ein 16-GB-RAM-System erstellt eine 15,9-GB-große hiberfil.sys).

PowerCfg /h[ibrnate] size 75

Erstellt eine hiberfil.sys-Datei oder reduziert ihre Größe auf ungefähr 75% (12 GB)

PowerCfg /h size 100

Ist in der Tat das gleiche wie das Einschalten der Funktion

Ein Größenwert größer als 100 führt zu einer Parameterfehlermeldung. Bei einer Größe kleiner als 40 wird die effektive Größe auf 40% festgelegt.

user718960
quelle