L'hibernation est censée écrire le contenu de la RAM sur le disque, et le retour de l'hibernation est censé remplir la RAM avec le contenu enregistré. Pourquoi le retour de l'hibernation est-il lent, par exemple, le système ne répond généralement pas pendant un certain temps?
22
Réponses:
La cause principale est les E / S disque. La lecture et l'écriture sur un disque physique sont beaucoup plus lentes que depuis la RAM. Lorsque votre ordinateur sort du disque (hibernation), il doit également mettre sous tension les composants, ce qui peut provoquer un certain ralentissement. Cela dépend fortement de l'ordinateur. Un SSD aura presque la même vitesse de reprise depuis le disque que depuis la RAM. Certains ordinateurs vous permettent de déplacer la souris avant que le bélier ne soit complètement rempli à nouveau, ce qui entraîne de faibles temps de réponse.
Remarque: Supposons que vous disposez de 8 Go de RAM et d'un SSD avec un débit de 400 Mo / s. Il faudra toujours 8 * 1024 Mo / 400 Mo / s = 20,48 s. Ce n'est pas la même vitesse que la reprise de la RAM.
En supposant un débit de RAM de 15 000 Mo / s, le temps de reprise est de 0,55 seconde.
la source
Reading and writing to a physical disk is much slower than from RAM.
Oui, mais la lecture est plus rapide que l'écriture, alors pourquoi faudrait-il autant de temps pour lire le disque dur que pour l'écrire?Alors que la RAM est très rapide, le disque dur est exactement le contraire. Imaginez que vous deviez copier le contenu de votre RAM, qui pourrait être d'environ 16 Go, à partir du disque dur. C'est 4 DVD. Voir?
la source
C'est un compromis. Tirons-nous tout ce qui était en RAM avant l'hibernation du disque dans la RAM en une seule fois, ou seulement un petit peu à la fois, selon les besoins?
Nous savons tous que la lecture d'un secteur à partir d'un disque en rotation prend pratiquement le même temps que l'écriture de ce secteur sur le même disque en rotation - le temps de recherche + rotation. Nous pouvons donc nous attendre à ce que l'écriture d'informations de la RAM sur le disque (en veille prolongée) prenne à peu près le même temps que la lecture de cette même RAM à partir du disque (reprise de la mise en veille prolongée). Mais cela ne se produit pas de cette façon, en raison de la pagination de la demande.
Si le système d'exploitation a tout tiré en même temps, la reprise de la mise en veille prolongée prendrait des dizaines de secondes, mais après cela, cela agirait de la même manière que si vous n'aviez jamais hiberné du tout.
Les programmeurs de système d'exploitation choisissent généralement la pagination de la demande à la place. En d'autres termes, le système d'exploitation ne tire que peu à la fois du disque, selon les besoins. Cela a l'avantage que la reprise de la mise en veille prolongée prend beaucoup moins de temps avant de commencer à répondre au clavier et aux clics de souris. D'un autre côté, lorsque vous utilisez quelque chose pour la première fois après l'hibernation, il y a un petit mais notable délai lorsque le système d'exploitation se met enfin à le charger. Cela se produit même lorsque "la première fois" que vous utilisez quelque chose peut se produire plusieurs minutes après la mise en veille prolongée. Ainsi, après avoir repris une mise en veille prolongée (c'est-à-dire après avoir vu un écran qui semble être plus ou moins identique à l'écran juste avant la mise en veille prolongée), travailler avec la machine peut sembler lent pendant un certain temps.
Comme l'a souligné Synetech, il y a un peu de psychologie humaine également impliquée: Parce que l'écran s'éteint tout de suite au début de l'hibernation, il semble qu'il s'éteigne rapidement. Et l'utilisateur peut immédiatement continuer avec tout ce que vous voulez faire. Mais après une reprise de l'hibernation, l'utilisateur essaie de faire quelque chose, et les petits retards sont ennuyeux car ils gênent ce que l'utilisateur essaie de faire.
la source
Je vois ce que tu veux dire. Il semble en effet que la LED HDD clignote longtemps après la sortie de l'hibernation.
Quelques explications raisonnables ont été données sur les retards dus au démarrage du matériel (et à l'accélération du pilote?) Et à la fragmentation (vous remarquerez qu'un système fraîchement sorti de l'usine va généralement hiberner et reprendre assez rapidement tandis qu'un système qui a été utilisé pendant un certain temps le fera). être beaucoup plus lent à le faire). Il y a quelques explications supplémentaires pour ce comportement.
Lorsque vous hibernez, Windows vide la mémoire RAM du lecteur. Malgré des vitesses élevées pour lire la RAM et écrire sur le disque (même avec un fichier d'hibernation défragmenté sur un gros lecteur vide), il faut encore un certain temps pour écrire plusieurs gigaoctets (vous remarquerez que l'hibernation et la reprise d'un système avec de petites quantités de RAM est farouchement rapide). L'écran s'éteint rapidement, mais le lecteur (et la carte mère, les ventilateurs, etc.) restent tous en marche pendant un certain temps jusqu'à ce qu'il termine de vider la RAM sur le disque. (Assurez-vous de ne pas jeter un ordinateur portable avec un disque dur avant d'avoir terminé et d'éteindre complètement le lecteur).
Vous pouvez effectuer des tests expérimentaux pour mesurer le temps qu'il faut entre cliquer sur Veille prolongée et mettre le système hors tension, et le temps qu'il faut à partir du moment où vous voyez l' écran Reprise de Windows jusqu'à ce que le voyant du disque dur cesse de clignoter. Ils seront probablement à peu près égaux. (Windows essaie de donner l'impression qu'il sort de l'hibernation très rapidement en écrivant puis en lisant le noyau et tout le reste dans le fichier d'hibernation, afin qu'il puisse se remettre en marche immédiatement et continuer à se charger dans le reste du en arrière-plan et au besoin jusqu'à ce que tout soit repris - vous pouvez voir ce comportement en action car l'écran de connexion s'affiche très rapidement.)
Pourquoi alors semble-t-il que la reprise prend plus de temps. Il y a deux explications à cela.
C'est psychologique . Comme Dan l'a souligné, parce que l'écran s'éteint immédiatement lorsque vous hibernez, il semble qu'il s'éteigne rapidement, tandis que vous voyez le processus de reprise complet (écran d'ouverture et LED HDD clignotant).
C'est de la pagination. Étant donné que la plupart des gens utilisent la mise en veille prolongée au lieu de l'arrêt, car ils veulent éviter de quitter les programmes et de manière à pouvoir reprendre là où ils se sont arrêtés, cela signifie que lorsque Windows reprend, il y a un tas de programmes déjà en cours d'exécution et consommant déjà de la mémoire. Parce qu'un temps considérable s'est écoulé depuis la dernière fois que le gestionnaire de mémoire de Windows a vérifié le système, il finira probablement par faire un tas d'échanges de mémoire car, de son point de vue, certains programmes sont en sommeil depuis un certain temps et d'autres l'ont devenir actif. Cet échange prend bien sûr un certain temps et écrase le lecteur pendant un certain temps.
Le résultat final est probablement une combinaison de facteurs et d'interactions entre l'activation matérielle, la pagination, la psychologie et la fragmentation.
Si vous êtes à la hauteur, vous pouvez déterminer définitivement (au moins sur votre système) quel est le goulot d'étranglement en effectuant quelques tests simples tels que l'utilisation de Process Monitor pour observer l'activité du lecteur / fichier pendant que Windows hiberne et reprend pour voir si tout cela la raclée est due à l'accès à
hiberfil.sys
oupagefile.sys
.la source