MATLAB Answers

What happens to a running program when my computer switches to Hibernate?

117 views (last 30 days)
Tim on 23 Aug 2012
Commented: Sonima on 29 Sep 2019
the question is pretty simple...what happens to a running program when my computer switches to Hibernate or standby?
My problem is that a program I wrote takes some days to finish. But I have to carry my Laptop sometimes in these days so I wonder if I can close my Laptop so that he switches into Hibernate without completly stopping my program. Does it just continue running after that? I just want to be sure that nothing happens to the program.
I already tested it with a smaller program and it finished normally.
Thank for your help Tim

Accepted Answer

Jan on 23 Aug 2012
In theory the hibernation should freeze the status of the disk, the memory and the processor status securely. In practize I'd never rely on this mechanism, if the results are important. There could be too many other reasons for problems and crashs.
I'd prefer a meachnism, which stores the intermediate values to disk and allows to resume from a certain step again. An advantage of this method is, that the changes in any parameters can be performed without the need to process the complete pipeline again.
Benjamin Friedrich
Benjamin Friedrich on 18 Jan 2018
On a windows computer, you have can switch on "presentation mode" in "mobile settings" (the idea is that your computer does not hibernate while giving a powerpoint presentation). I use "presentation mode" whenever I let Matlab do a computation overnight.

Sign in to comment.

More Answers (3)

Jason Ross
Jason Ross on 23 Aug 2012
I largely agree with Jan. I've had the hiberation file get corrupted a number of times over the years, and losing a few days of work because of that wouldn't be great. I'd really not depend on it as a reliable mechanism and would design a method to pause computation before hibernating or sleeping the machine.
If you've got access to another machine (that stays up all the time) that you can run your work on, a better approach might be to run your program there, and use some remote access mechanism to to get to it and check on results. But even in that case, having intermediate check points you can resume from is a better approach, as any arbitrary system will need to be rebooted for one reason or another, and this could interrupt your calculations.
Running analysis for days also makes a program very difficult to debug and maintain since you have to wait days between iterations to know if your changes are "right".
You might want to also look into methods (refactoring, profiling your code, parallelizing, etc) that could decrease your run-time, too. Just because it takes days with the current implementation doesn't mean it always has to.

Tim on 24 Aug 2012
Thank you for your quick anwers.
I will do as you say and break my program into pieces so that I can stop after one part is finished.
Jason, you are absolutly right...debugging is really difficult if I don't split the program...
Thank you Tim

Sonima on 29 Sep 2019
Is it possible to hiberation Win 10 with a Matlab code?

Sign in to comment.


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!