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

Hey,
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

 채택된 답변

Jan
Jan 2012년 8월 23일

3 개 추천

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.

댓글 수: 3

Breaking the program into smaller pieces is generally a good idea. I cannot imagine not doing it when running the code on a laptop.
Is there a way for MATLAB to tell the computer that it is working so that the computer does not hibernate just because there are no incoming events?
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.

댓글을 달려면 로그인하십시오.

추가 답변 (3개)

Jason Ross
Jason Ross 2012년 8월 23일

3 개 추천

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
Tim 2012년 8월 24일

1 개 추천

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
Sonima 2019년 9월 29일

0 개 추천

Hi!
Is it possible to hiberation Win 10 with a Matlab code?

댓글 수: 2

system('powercfg /h on');
to configure hiberation being permitted. This only has to be done if you are not sure that hibernation is enabled.
system('shutdown/h /t 0');
for immediate hibernation.
Thanks Walter, appritate it.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Startup and Shutdown에 대해 자세히 알아보기

태그

질문:

Tim
2012년 8월 23일

댓글:

2019년 9월 29일

Community Treasure Hunt

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

Start Hunting!

Translated by