MATLAB减慢了长时间的调试会话

Ame*_*ina 7 matlab

我注意到如果我长时间处于调试模式(例如3小时),MATLAB(Windows 7上的R2011b,64位)往往会减慢速度.我不记得在先前版本的MATLAB上发生了这种情况.

减速很小,但足以影响我的工作效率(有时MATLAB需要等待最多1秒才能输入命令行或编辑器).

我通常在调试模式上花费数小时(例如,在键盘声明停止后)在此模式下编写完整项目.我发现在调试模式上工作方便有机地增长我的代码,同时在执行时间检查我的代码.

奇怪的是我的机器有16 GB的RAM和所有工作空间的总大小,而在调试模式下通常小于4 GB.我没有在后台运行任何其他大型进程,我的系统报告~8GB的可用RAM.

另外,遗憾的是MATLAB不允许我pack从调试模式调用; 它抱怨:

Warning: PACK can only be used from the MATLAB command line. 
Run Code Online (Sandbox Code Playgroud)

重新启动MATLAB,重新启动系统以及在不同的日子里,我重现了这种行为.有了这个,我的问题是:

  • 有没有人注意到这个?如果不退出调试模式,有什么办法可以防止这种减速吗?
  • Mathworks是否有任何技术说明或声明可以解决此问题?

如果它很重要,我的代码在网络驱动器上,所以我在我的startup.m文件中添加了以下内容,这可以减轻由此产生的对性能的任何影响:

system_dependent('RemoteCWDPolicy', 'None');
system_dependent('RemotePathPolicy', 'None');
system_dependent('DirChangeHandleWarn','Never');
Run Code Online (Sandbox Code Playgroud)

Mie*_*ter 1

我经历过一些类似的问题。问题最终是 Mathworks 改变了 Matlab 缓存文件的方式。对于某些用户来说,它现在将数据存储在环境变量定义的 TMP 文件夹中。该文件夹正在被防病毒软件扫描并导致很多性能问题。当然,IT 不会让我们从扫描中排除 TMP 文件夹。因此,我们在启动脚本中添加了一行,将 TMP 的环境变量更改为排除文件夹中的其他位置。

您不必担心将变量改回或弄乱其他程序。当应用程序启动时,它们将环境变量复制到它们自己的本地实例中。对它们所做的任何更改只会更改这些变量的本地副本,而不是系统副本。

这是您需要的功能。

setenv('TEMP', 'C:\TEMP');

我不确定是 TMP 还是 TEMP。检查您的环境变量以确定。