Sim, eu sei que o hibernate geralmente se aplica a um computador. (Hiberne seu significado, economizando memória de programa em disco e restaurando-a de maneira consistente.)
No entanto, a hibernação de um programa pode ser muito útil. Suponha que eu queira jogar um jogo, mas alguns programas como o firefox, acrobat ocupam 500 milhões de memória, então eu quero liberá-lo. Fechar e iniciar pode consumir muito tempo, principalmente se os dados da sessão não puderem ser armazenados. Então, em vez disso, eu vou hiberná-los. Então, existe alguma maneira de eu hibernar um programa?
windows-7
performance
hibernate
apoorv020
fonte
fonte
Respostas:
Há uma pergunta relacionada sobre isso no StackOverflow. É mais relacionado à programação, mas a principal resposta aceita explica por que o que você está tentando fazer é difícil e oferece uma alternativa viável.
Basicamente, execute seus aplicativos de 'negócios' em uma VM e pause / hiberne / feche-o quando quiser jogar.
fonte
Embora este não seja um hibernar real , o processo pode ser suspenso. Parará imediatamente de usar ciclos da CPU, mas ainda estará usando memória. Felizmente, essa memória será trocada para o arquivo de paginação, se você iniciar qualquer aplicativo que consome muita memória posteriormente, portanto não é um problema real. O processo suspenso não pode sobreviver à reinicialização \ logoff, mas isso será suficiente para jogar um jogo.
Pergunta relacionada: Suspender / retomar um processo da maneira mais fácil?
Internamente, a suspensão do processo pode ser feita através de diferentes abordagens :
Par de funções SuspendThread e ResumeThread .
NtSuspendProcess
função (não oficialmente documentada) que foi introduzida no Windows XP Sp0 e funciona em todas as versões do sistema desde então.Depuração interface fornecida pela Microsoft, usando DebugActiveProcess e DebugActiveProcessStop funções. Quando um depurador se anexa a um processo remoto, todos os threads do destino são suspensos imediatamente até que o depurador dê um sinal para que eles sejam executados.
Há várias ferramentas disponíveis, que podem suspender um processo:
Além disso, o Monitor de Recursos ( Task Manager→ Performance→ Open Resource Monitor) no Windows Vista e superior pode suspender \ retomar processos:
fonte
"Hibernar" um aplicativo não seria mais rápido do que apenas fechá-lo e reiniciá-lo, embora seu argumento sobre os dados da sessão seja válido. Em geral, não haveria muita ou nenhuma vantagem.
fonte
Closing the program and then restarting it only requires copying it from the hard disk.
Você está esquecendo de adicionar o tempo necessário para que o programa volte ao estado em que estava. Por exemplo,Como você está no Windows, sempre pode criar duas contas de usuário e usar a função de troca rápida de conta no Windows e usar cada uma delas para diferentes conjuntos de aplicativos. Como o Windows praticamente hiberna, as outras visões se abrem no computador. Acho que sim.
fonte