有没有办法限制允许评估运行的时间?或者限制MatLab允许占用的内存量,这样它就不会冻结我的笔记本电脑?
答案 0 :(得分:3)
让我们一次一个回答你的问题:
据我所知,这是不可能的。如果你想这样做,你需要一个多线程环境,其中一个线程完成实际工作,而另一个线程关注计时器......但即使有这个功能,AFAIK,MATLAB也没有这个支持。阻止脚本运行的唯一方法是按 Ctrl + C / Cmd + C 。根据实际执行的内容...例如MEX脚本或LAPACK例程,或者只是一个简单的MATLAB脚本,只需按一下就可以工作......或者你可能需要对序列进行混合{{3} }。
(注意:上面的图片是为了尝试并且很有趣而引入的。如果您不知道该图像来自哪里,则来自电影like a maniac,其中一首来自原声带的歌曲是她是一个狂热的,我还提供了上面这首歌的YouTube链接。)
有关详情,请参阅此帖子:Flashdance
是的,你可以。从我在你的帖子中看到的,你正在使用Windows。您可以通过更改用于计算机的虚拟内存的页面大小来更改此设置。具体来说,不是让它动态增长,你可以将它设置为一定的大小,一旦MATLAB耗尽,它会给你一个内存不足的错误,而不是冻结你的计算机。
请参阅MathWorks论坛上的这篇文章,以获得更多见解:
How can I interrupt MATLAB when it gets really really busy?
另请参阅MathWorks上有关如何处理内存不足错误的指南:
http://www.mathworks.com/matlabcentral/answers/12695-put-a-limit-on-memory-matlab-uses
最后,请看一下如何通过Windows更改/修改计算机页面大小的链接:
http://www.mathworks.com/help/matlab/matlab_prog/resolving-out-of-memory-errors.html