2

Is it possible to backup and restore RAM, either as a whole or on a per-application basis?

It would need to backup this to disk and have the option to restore this at a later date.

In essence, such feature exists in the form of hibernation, but that turns off windows, and restores that memory backup at launch.

But what if I want to restore the memory state at any given time from say... 10 minutes ago, because 10 minutes ago, it made a snapshot?

I understand that creating a full backup of RAM may take some time, so how would a per-application backup work?

Ideally, I create a RAM backup of the state of this program, then close it. Open it another time, reload the state of the RAM and continue to work.

In case you may argue that starting the program up and execute a load from within the program would be faster, in some cases that is not the case. My idea is that the RAM backup would be stored to the SSD, whereas the loading of a project fetches files from many sources, mostly on slow sources such as a traditional harddisk or network drive. But most importantly, if it automatically backups every 10 minutes, I would have an undo to 10 minutes ago option, that can be very useful.

How could I accomplish this?

Although I am using Windows 10, if there is an OS that natively supports this, I would definitely consider using that OS.

LPChip
  • 59,229
  • 10
  • 98
  • 140
  • The are usually several protection mechanisms in place to prevent low level access from one application to another. So you will likely have something with really high permissions to implement such a process. What programs are you thinking about with this? For instance if you take browser into account there are various files in addition to the RAM that are modified during execution. As such just restoring a set point for RAM would likely lead to some kind of invalid configuration. – Seth Apr 11 '18 at 10:14
  • 1
    @Seth good question. This is actually a topic for general case and I was mostly wondering if it is possible at all, given that searches yield absolutely no results, and when I talk to people they say its impractical because recreating a state is usually faster, or implementing is very complex (for a per-application situation). For example, I run music software that has huge libraries. Too big to fit my SSD, but such memory backup would fit my SSD, giving faster load times. – LPChip Apr 11 '18 at 10:19
  • @LPChip You can potentially [suspend the application](https://www.howtogeek.com/199976/how-to-pause-or-resume-a-windows-application-using-process-explorer/) and let Windows slowly push it out to the page file, you would still have a button on the task bar for it but it would not be running. I think there's even a way to force it out to the page file and read it back in, but it will still show in your process list and taskbar. I doubt you can "sleep and close" it... – Mokubai Apr 11 '18 at 13:50
  • Possible duplicates over here: https://superuser.com/questions/631430/how-to-dump-the-memory-of-a-process-to-a-file-and-then-restore-the-process-into?noredirect=1&lq=1 Look into the closed as dupes and the list on the right of the question. Can't see any real useful answers though... – Mokubai Apr 11 '18 at 13:54
  • 1
    Aside from security issues, simply backing-up /restoring RAM is not going to accomplish what you seem to want. The *state* of a process is more than just the physical RAM or userspace virtual memory that it uses. There are system process entries, allocated memory, open file descriptors, etc. associated with each process. Even if it could work, trying to partially replace any piece of a running system to a previous/arbitrary state just creates a huge security hole that no sane OS would allow. – sawdust Apr 11 '18 at 19:10
  • @sawdust how would this be a security risk? All you do is restore a state a program was in at an earlier time. Hibernation is also the same system wide. That's not a security risk is it? – LPChip Apr 11 '18 at 19:12
  • Hibernation is not a security issue because it is a full system restore, and the system will adapt to the current time. If just one process of the system is restored, then there could be system-wide inconsistencies. – sawdust Apr 11 '18 at 19:25
  • I see... hmm.. still sounds like something I could live with though, @sawdust – LPChip Apr 11 '18 at 19:30

0 Answers0