Prevent Mac from Falling Asleep While Running MATLAB Code
36 views (last 30 days)
Show older comments
I'm looking to run a MATLAB script overnight that takes hours to run, but the problem is that my laptop falls asleep during that timeframe. I would like to add a line to the top of my script to tell my computer to disable sleep mode and then a line at the bottom of my script to enable sleep mode so that my computer isn't awake all night. I thought it might work to add system('caffeinate') at the top and system('killall caffeinate') at the bottom, but it gets hung up on the first command and doesn't run my code. Does anybody have a solution for this? I'm currently running MATLAB R2015a on OS X 10.10.5. Thanks for the help!
0 Comments
Answers (2)
ptorab
on 11 Feb 2017
This is really a MATLAB OS X bug; MATLAB needs to send frequent PM assertions to OS X while it is running to prevent it from going sleep. Apple seems to have changed the logic of going to sleep to something that no longer depends on CPU or disk activity, but explicit power assertions from applications.
1 Comment
Walter Roberson
on 11 Feb 2017
Hmmmm. There is not much hope that it would send power assertions while it is calling into MKL or LINPACK or BLAS to do extensive computations.
Kelly Kearney
on 12 Oct 2015
I've never used caffeinate, so I'm not entirely sure how the command works (though it looks like a good one to know, so thanks for the reference!). However, it looks like calling it without any inputs causes it to wait for a response, which is why Matlab never moves on to the next command. Perhaps try running it in the background?
system('caffeinate &');
See Also
Categories
Find more on Orange in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!