Ja, ich weiß, dass der Ruhezustand normalerweise für einen Computer gilt. (Ruhezustand, dh Programmspeicher wird auf der Festplatte gespeichert und kann auf konsistente Weise wiederhergestellt werden.)
Der Ruhezustand eines Programms kann jedoch sehr nützlich sein. Angenommen, ich möchte ein Spiel spielen, aber einige Programme wie Firefox und Acrobat belegen 500 MB Speicher, und ich möchte es freigeben. Das Schließen und anschließende Starten kann zeitaufwändig sein, insbesondere wenn Sitzungsdaten nicht gespeichert werden können. Also gehe ich stattdessen in den Winterschlaf. Gibt es eine Möglichkeit, ein Programm in den Ruhezustand zu versetzen?
windows-7
performance
hibernate
apoorv020
quelle
quelle
Antworten:
Es gibt eine verwandte Frage zu diesem Thema bei StackOverflow. Es ist eher programmierbezogen, aber die allgemein akzeptierte Antwort erklärt, warum das, was Sie versuchen, schwierig ist, und bietet eine praktikable Alternative.
Führen Sie Ihre Geschäftsanwendungen grundsätzlich in einer virtuellen Maschine aus und halten Sie sie an, halten Sie sie im Ruhezustand und schließen Sie sie, wenn Sie spielen möchten.
quelle
Dies ist zwar kein tatsächlicher Ruhezustand , der Vorgang kann jedoch unterbrochen werden. Die CPU-Zyklen werden sofort nicht mehr verwendet, der Speicher wird jedoch weiterhin verwendet. Glücklicherweise wird dieser Speicher in eine Auslagerungsdatei umgelagert, wenn Sie anschließend eine speicherintensive Anwendung starten. Dies ist also kein wirkliches Problem. Angehaltener Prozess kann Neustart \ Abmelden nicht überstehen, aber dies reicht aus, um ein Spiel zu spielen.
Verwandte Fragen: Einen Prozess auf einfache Weise anhalten / fortsetzen?
Intern kann die Unterbrechung von Prozessen auf verschiedene Weise erfolgen :
SuspendThread- und ResumeThread- Funktionspaar.
NtSuspendProcess
Funktion (nicht offiziell dokumentiert), die mit Windows XP Sp0 eingeführt wurde und seitdem auf jeder einzelnen Systemversion funktioniert.Von Microsoft bereitgestellte Debugging-Schnittstelle mit den Funktionen DebugActiveProcess und DebugActiveProcessStop . Wenn sich ein Debugger an einen Remote-Prozess anschließt, werden alle Threads des Ziels sofort angehalten, bis der Debugger ein Zeichen gibt, damit sie ausgeführt werden können.
Es gibt eine Reihe von Tools, mit denen ein Prozess angehalten werden kann:
Darüber hinaus kann der Ressourcenmonitor ( Task Manager→ Performance→ Open Resource Monitor) in Windows Vista und höher Prozesse anhalten / fortsetzen:
quelle
Das "Ruhezustand" einer App ist nicht schneller als das Schließen und Neustarten der App, obwohl Ihr Hinweis zu Sitzungsdaten gültig ist. Im Allgemeinen würde es keinen großen Vorteil geben.
quelle
Closing the program and then restarting it only requires copying it from the hard disk.
Sie vergessen, die Zeit hinzuzufügen, die erforderlich ist, um das Programm wieder in den ursprünglichen Zustand zuDa Sie unter Windows arbeiten, können Sie jederzeit zwei Benutzerkonten erstellen und die Funktion zum schnellen Wechseln des Kontos in Windows verwenden und diese für verschiedene Apps verwenden. Da Windows so ziemlich in den Ruhezustand wechselt, werden die anderen Fenster auf dem Computer geöffnet. Ich glaube schon.
quelle