Cosa succede se riduciamo le dimensioni di hiberfil.sys


17

Oggi ho scoperto che possiamo impostare la dimensione di hiberfil.sys usando lo powercfg -H -size 100%strumento da riga di comando. Ignorando lo spazio duro che otterrai, cos'altro cambierà se lo impostiamo su powercfg -H -size 50%? Limita l'utilizzo massimo della RAM al 50%? Il sistema non andrà in letargo se avremo più del 50% di RAM?


2
il sistema si bloccherà con questo bucheck ( msdn.microsoft.com/en-us/library/ff559341%28v=vs.85%29.aspx ) quando la RAM utilizzata è più grande il file di ibernazione in grado di memorizzare
magicandre1981

Risposte:


20

Ho trovato un documento Microsoft relativo al file di ibernazione. Ciò che ci dice è che il contenuto della memoria viene compresso prima di essere scaricato nel file di ibernazione, quindi la maggior parte delle volte l'impostazione di una dimensione percentuale inferiore del file di ibernazione è utile poiché si spreca meno spazio su disco.

Windows supporta l'ibernazione copiando il contenuto della memoria su disco. Il sistema comprime i contenuti della memoria prima di conservarli sul disco, il che riduce lo spazio su disco richiesto a meno della quantità totale di memoria fisica sul sistema.

La sintassi corretta per il comando sembra essere:

PowerCfg.exe /HIBERNATE /SIZE 75

Il documento afferma inoltre che se il file di ibernazione è troppo piccolo, si verificherà un "Errore di interruzione" e i codici suggeriranno di quanto è necessario aumentare la dimensione del file di ibernazione di.

Ciò non limiterà la quantità di RAM fisica disponibile per il sistema.

Dato che è compresso, ridurre la dimensione del file non sarà problematico se si colpisce solo raramente il 100% della memoria fisica utilizzata e / o è probabile che la memoria contenga dati ragionevolmente comprimibili che il più delle volte dovrebbe essere.

Da quel documento:

Windows riserva spazio su disco per l'ibernazione nel file di ibernazione, denominato Hiberfil.sys. Per Windows 7, la dimensione predefinita del file di ibernazione è pari al 75 percento della memoria fisica totale sul sistema. Ad esempio, su un computer con 2 GB di RAM, la dimensione del file di ibernazione predefinita è 1,5 GB.

In casi rari ed estremi di utilizzo della memoria , inclusa la convalida della memoria da parte di prestazioni della memoria o utilità di test, l' ibernazione può fallire perché il contenuto della memoria non può essere compresso abbastanza per adattarsi alla dimensione del file di ibernazione.

Proverei a numeri più bassi, ma personalmente non scenderei al 50%. Potrebbe anche andare bene e il peggio che accadrà è che l'ibernazione fallirà e dovrai riavviare normalmente e impostare le dimensioni su un po 'più grandi.


2
Grazie per la risposta. Non conosco quello ufficiale ma entrambi powercfg -H -size 100%e PowerCfg.exe /HIBERNATE /SIZE 75funziona correttamente

1
Sembra che su Windows 10, il powercfgcomando non accetti più un /SIZEargomento - non è più documentato almeno, ma non viene prodotto alcun errore se lo si specifica.
martineau,

Ho scoperto che il tempo di ripresa dall'ibernazione è aumentato sostanzialmente quando ho abbassato la percentuale al 60% (Windows 7 SP1). Sono l'unico?
deddebme,

@martineau è del tutto possibile che a causa dell'arresto ibrido in Windows la dimensione del file di ibernazione sia diventata adattiva in modo simile al file di scambio. Non ho avuto la possibilità di indagare, tranne per vedere che il mio file di ibernazione è circa il 35% della dimensione della mia RAM di sistema, ma non sono sorpreso.
Mokubai

1
@intrepidis: ne sono pienamente consapevole. Sapevi che se lo usi powercfg /?, verrai trattato con un elenco molto più lungo di tutti i possibili parametri. Che, se li guardi, alla fine (non sono in ordine alfabetico) vedrai la voce per -HIBERNATE, -He che oltre a -H <ON|OFF>ciò accetta anche un -H -Size <PercentSize>dove -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.- che corrisponde alla documentazione MS collegata.
martineau,

4

La sintassi in Windows 10 è leggermente diversa

PowerCfg /h[ibernate] off

spegnerà l'ibernazione e rimuoverà il file C: \ hiberfil.sys

PowerCfg /h[ibernate] on

Riaccenderà la funzione e creerà il file C: \ hiberfil.sys della stessa dimensione della memoria disponibile (un sistema RAM da 16GiB crea un hiberfil.sys da 15.9GiB)

PowerCfg /h[ibrnate] size 75

Creerà un file hiberfil.sys o ne ridurrà le dimensioni a circa il 75% (12GiB)

PowerCfg /h size 100

È in effetti uguale all'attivazione della funzione

Un valore di dimensione superiore a 100 genera un messaggio di errore del parametro, una dimensione inferiore a 40 imposta la dimensione effettiva al 40%.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.