Que se passe-t-il si nous réduisons la taille de hiberfil.sys

17

J'ai découvert aujourd'hui que nous pouvons définir la taille du hiberfil.sys à l'aide powercfg -H -size 100%de l'outil de ligne de commande. En ignorant l'espace dur que vous obtiendrez, qu'est-ce qui changera si nous le définissons powercfg -H -size 50%? Cela limite-t-il l'utilisation maximale de la RAM à 50%? Le système n'hibernera-t-il pas si je dispose de plus de 50% de RAM?


la source
2
le système se bloque avec ce bucheck ( msdn.microsoft.com/en-us/library/ff559341%28v=vs.85%29.aspx ) lorsque la RAM utilisée est plus grande que le fichier d'hibernation peut stocker
magicandre1981

Réponses:

21

J'ai trouvé un document Microsoft concernant le fichier d'hibernation. Ce que cela nous dit, c'est que le contenu de la mémoire est compressé avant d'être vidé dans le fichier d'hibernation, donc la plupart du temps, la définition d'un pourcentage plus petit du fichier d'hibernation est bénéfique car moins d'espace disque est gaspillé.

Windows prend en charge l'hibernation en copiant le contenu de la mémoire sur le disque. Le système compresse le contenu de la mémoire avant de le conserver sur le disque, ce qui réduit l'espace disque requis à moins que la quantité totale de mémoire physique sur le système.

La syntaxe correcte de la commande semble être:

PowerCfg.exe /HIBERNATE /SIZE 75

Le document indique également que si le fichier d'hibernation est trop petit, une "erreur d'arrêt" se produira et les codes suggéreront de combien vous avez besoin pour augmenter la taille du fichier d'hibernation de.

Cela ne limitera pas la quantité de RAM physique disponible sur votre système.

Comme il est compressé, la réduction de la taille du fichier ne sera pas problématique si vous n'atteignez que rarement 100% de la mémoire physique utilisée et / ou votre mémoire est susceptible de contenir des données raisonnablement compressibles, la plupart du temps cela devrait être.

De ce document:

Windows réserve de l'espace disque pour l'hibernation dans le fichier d'hibernation, qui s'appelle Hiberfil.sys. Pour Windows 7, la taille par défaut du fichier d'hibernation est égale à 75% de la mémoire physique totale du système. Par exemple, sur un ordinateur doté de 2 Go de RAM, la taille de fichier d'hibernation par défaut est de 1,5 Go.

Dans les cas rares et extrêmes d'utilisation de la mémoire , y compris la validation de la mémoire par un utilitaire de performances ou de test de mémoire, la mise en veille prolongée peut échouer car le contenu de la mémoire ne peut pas être suffisamment compressé pour tenir dans la taille du fichier d'hibernation.

Je voudrais essayer des nombres inférieurs, mais personnellement, je n'irais pas aussi bas que 50%. Cela pourrait bien être bien et le pire qui se produira est que l'hibernation échouera et vous devrez redémarrer normalement et définir la taille pour être un peu plus grande.

Mokubai
la source
2
Merci de répondre. Je ne connais pas l'officiel mais les deux powercfg -H -size 100%et PowerCfg.exe /HIBERNATE /SIZE 75fonctionne correctement
1
Il ressemble à Windows 10, la powercfgcommande n'accepte plus d' /SIZEargument - il n'est plus documenté au moins, mais aucune erreur n'est produite si vous le spécifiez.
martineau
J'ai trouvé que le temps de reprise de l'hibernation avait augmenté considérablement lorsque j'ai réduit le pourcentage à 60% (Windows 7 SP1). Suis-je le seul?
deddebme
@martineau, il est tout à fait possible qu'en raison de l'arrêt hybride dans Windows, la taille du fichier d'hibernation soit devenue adaptative de la même manière que le fichier d'échange. Je n'ai pas eu l'occasion d'enquêter, sauf pour voir que mon fichier d'hibernation représente environ 35% de la taille de la RAM de mon système, mais je ne suis pas surpris.
Mokubai
1
@intrepidis: J'en suis pleinement conscient. Saviez-vous que si vous venez de l'utiliser, powercfg /?vous aurez droit à une liste beaucoup plus longue de tous les paramètres possibles. Pour lesquels, si vous les parcourez, vous finirez par (ils ne sont pas classés par ordre alphabétique) voir l'entrée -HIBERNATE, -Het qu'en plus -H <ON|OFF>il acceptera également un -H -Size <PercentSize>-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.- qui correspond à la documentation MS liée.
martineau
4

La syntaxe dans Windows 10 est légèrement différente

PowerCfg /h[ibernate] off

désactivera l'hibernation et supprimera le fichier C: \ hiberfil.sys

PowerCfg /h[ibernate] on

Réactivera la fonction et créera le fichier C: \ hiberfil.sys d'environ la même taille que la mémoire disponible (un système RAM de 16 Go crée un hiberfil.sys de 15,9 Go)

PowerCfg /h[ibrnate] size 75

Créera un fichier hiberfil.sys ou réduira sa taille à environ 75% (12 Go)

PowerCfg /h size 100

Est en fait identique à l'activation de la fonction

Une valeur de taille supérieure à 100 entraîne un message d'erreur de paramètre, une taille inférieure à 40 définit la taille effective à 40%.

user718960
la source