O Windows 7 está lento após sair da hibernação

2

Toda vez que eu hibernar o Windows 7 e retomar mais tarde, todo o sistema parece bem por um tempo, então tudo fica lento até que o sistema demore cerca de 10 segundos para carregar uma página onde foi carregada instantaneamente.

Existe algo que pode ser feito para impedir que isso aconteça?

Eu já experimentei o sfc / scannow, não faz qualquer diferença.

Eu já vi isso algumas vezes, mas nunca com uma solução que funciona para mim.

    
por warsong 28.01.2013 / 22:05

2 respostas

5

Every time I hibernate Windows 7 and then resume later on, the whole system seems fine for a while, then everything gets slow until the system takes about 10 seconds to load a webpage where it was load instantly before.

Veja o LED do HDD no seu sistema. Eu aposto que por alguns minutos após sair da hibernação, o LED do HDD pisca furiosamente (ou até fica sólido).

Isso é normal. Quando o Windows sair da hibernação, ele não lê todo o arquivo de hibernação (que pode ter alguns gigabytes de tamanho) na memória. Em vez disso, ele carrega as partes cruciais para se levantar e executar novamente (o kernel, a memória de drivers, serviços, programas ativos, etc.) e carrega o restante em segundo plano. Dessa forma, você pode começar a trabalhar novamente em vez de esperar por um minuto ou dois.

Naturalmente, isso significa que o sistema ficará atolado enquanto o Windows continua carregando o restante do sistema em segundo plano. É claro que ele tenta o seu melhor para ser o mais responsivo possível, mas não é de surpreender que seja mais fácil falar do que fazer. Isso é particularmente verdadeiro, pois, como a atividade continua forçando-a a acompanhar a carga de segundo plano para priorizar outra coisa, por exemplo, se você minimizar um programa, o Windows precisa tentar interromper o carregamento seja o que for que estava a trabalhar e rapidamente restaure a memória para esse outro programa, mas poderá ter de terminar a operação atual antes de seguir o rastreio.

I already tried sfc /scannow, it doesn't make any difference.

Porque não há nada errado com a unidade.

Is there something that can be done to stop this from happening?

Além de obter mais memória e uma unidade mais rápida (por exemplo, SSD), a melhor coisa que você pode fazer para melhorar o desempenho pós-hibernação é sair do maior número de programas e liberar o máximo de memória possível antes de hibernar. Obviamente, isso de alguma forma anula o propósito da hibernação, mas nada é de graça, e se você quer desempenho nesse sentido, então você tem que pagar com esse fim, e vice-versa.

Como bônus, se você reduzir o número de programas em execução e usar a memória antes de hibernar, também obterá o benefício de que o Windows hiberna mais rápido, já que não precisa armazenar tanta memória no disco.

Além disso, o artigo do MSDN que Bob sentado explica outra razão pela qual a continuação é lenta (mais que a hibernação):

Boot loader enhancements also provide similar improvements in hibernation resume times, mainly by streamlining the I/O paths used by Ntldr to read the hibernation image. The hibernation file is compressed as it is written, and for efficiency, the compression algorithm overlaps with the file I/O. However, when resuming from hibernation, Ntldr is using the BIOS to perform the I/O; therefore, it is not feasible to overlap the disk I/O reads with the decompression.

To optimize the hibernation process in Windows XP, several improvements have been implemented. The compression algorithm has been optimized to compress and decompress large blocks (64K) of data. In addition, the compression is overlapped with the disk write. As the current data block is being transferred to the disk, the next block of data is being compressed. Overlapping the compression with disk writes makes the compression time virtually free. Also, the hibernation file is written using IDE DMA instead of PIO mode. Most modern IDE controllers and disks achieve their best performance only in DMA mode.

Em outras palavras, o processo de hibernação ocorre no Windows com todos os drivers e está carregado e pronto para que o Windows possa acessar o hardware (ou seja, as unidades) na velocidade máxima. No entanto, quando você retoma, o Windows não está carregado, portanto, ele está usando o BIOS, que fornece apenas um nível básico de serviço - mesmo que muito - afinal, o B no BIOS representa Basic .

A situação do Windows 7 em sistemas EFI é um pouco melhor, mas continua essencialmente a mesma. Seria impossível para uma EFI ter “drivers” para todos os dispositivos de hardware possíveis, portanto, mesmo um sistema EFI não pode fornecer acesso total com desempenho máximo.


Portanto, a continuação da hibernação sempre será um pouco lenta (pelo menos a parte que obtém o Windows funcionando; o carregamento em segundo plano do restante seria um pouco mais rápido). Na verdade, quanto mais memória você instalou, mais tempo demora porque há mais dados que precisam ser lidos do disco - a hibernação é uma das únicas desvantagens de ter mais memória.

    
por 07.09.2013 / 17:06
1

Após o processo de hibernação estar completo, basta colocar o computador para dormir novamente. Acorde e surpreendentemente o Windows começará a funcionar com velocidade total novamente.

    
por 14.07.2015 / 15:47