Sí, sé que la hibernación generalmente se aplica a una computadora. (Hiberne su significado al guardar la memoria del programa en el disco y poder restaurarlo de manera consistente).
Sin embargo, hibernar un programa puede ser muy útil. Supongamos que quiero jugar un juego, pero algunos programas como Firefox, Acrobat ocupan 500M de memoria, por lo que quiero liberarlo. Cerrar y luego iniciar puede llevar mucho tiempo, especialmente si los datos de la sesión no se pueden almacenar. Entonces, en cambio, voy e hibernarlos. Entonces, ¿hay alguna manera de que pueda hibernar un programa?
windows-7
performance
hibernate
apoorv020
fuente
fuente
Respuestas:
Hay una pregunta relacionada sobre esto en StackOverflow. Está más relacionado con la programación, pero la respuesta principal aceptada explica por qué lo que intenta hacer es difícil y ofrece una alternativa viable.
Básicamente, ejecute sus aplicaciones de 'negocio' en una máquina virtual, y pause / hiberne / ciérrelo cuando desee jugar.
fuente
Si bien esto no es una hibernación real , el proceso puede suspenderse. Inmediatamente dejará de usar ciclos de CPU, pero seguirá usando memoria. Afortunadamente, esta memoria se cambiará a un archivo de paginación, si luego inicia cualquier aplicación que requiera mucha memoria, por lo que no es un problema real. El proceso suspendido no puede sobrevivir al reinicio / cierre de sesión, pero esto será suficiente para jugar un juego.
Pregunta relacionada: ¿ Suspender / Reanudar un proceso de la manera fácil?
Internamente, la suspensión del proceso podría hacerse a través de diferentes enfoques :
Par de funciones SuspendThread y ResumeThread .
NtSuspendProcess
función (no documentada oficialmente) que se ha introducido con Windows XP Sp0 y funciona en todas las versiones del sistema desde entonces.Interfaz de depuración proporcionada por Microsoft, utilizando las funciones DebugActiveProcess y DebugActiveProcessStop . Cuando un depurador se adjunta a un proceso remoto, todos los hilos del objetivo se suspenden inmediatamente hasta que el depurador da una señal para permitirles ejecutar.
Hay varias herramientas disponibles que pueden suspender un proceso:
Además, el Monitor de recursos ( Task Manager→ Performance→ Open Resource Monitor) en Windows Vista y superior puede suspender / reanudar procesos:
fuente
"Hibernar" una aplicación no sería más rápido que simplemente cerrarla y reiniciarla, aunque su punto sobre los datos de la sesión es válido. En general, no habría mucha, si alguna ventaja.
fuente
Closing the program and then restarting it only requires copying it from the hard disk.
Están olvidando añadir en el tiempo que tarda en llegar el programa de devolución en el estado en que estaba, por ejemplo, la reapertura de un montón de pestañas del navegador, abrir un archivo en un editor, etc.Como está en Windows, siempre puede crear dos cuentas de usuario y usar la función de cambio rápido de cuenta en Windows y usar cada una de ellas para diferentes conjuntos de aplicaciones. Como Windows prácticamente hiberna, las otras visiones se abrieron en la computadora. Creo que sí.
fuente