首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MATLAB中内存使用量的增长

MATLAB中内存使用量的增长
EN

Stack Overflow用户
提问于 2014-09-05 09:03:01
回答 2查看 634关注 0票数 0

我用MATLAB编写了一些元启发式程序。最近,我一直在研究一个解决工业工程问题的算法。我与MATLAB的问题是“内存不足”错误。现在,我正在尝试Mathworks和Stackoverflow的一些建议(希望它们能起作用)。然而,有一件事我不明白。

在MATLAB中运行该算法时(中型问题需要4000~5000 cpu秒),即使我预先分配了变量,代码也不要求动态数组调整大小,也不添加新变量,我观察到该算法的内存使用量持续增长。主函数调用我编写的其他一些函数。内存使用量增加的原因是什么?

我使用的计算机运行该算法有8GB的内存和win8 64位。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-09 12:44:55

内存使用量增长的原因是CPlex。我尝试了许多替代方案,但除了将虚拟内存增加到几百GB之外,我找不到任何其他有用的解决方案。如果您没有特殊的理由坚持使用CPlex (商业用途、许可等),我建议任何遇到这个问题的人使用GUROBI。它是免费的,不受限制的学术使用,完全可积与MATLAB。这就是我对Cplex问题的解决方案。我希望这个解决方案对每个人都有用。

票数 0
EN

Stack Overflow用户

发布于 2014-09-05 09:09:10

要想弄清楚这一点,唯一的办法就是看看内存的去向。我认为您可能意外地存储了不需要的结果,或者低估了输出/中间变量的大小。

以下是我将如何进行:

  1. 打开dbstop if error
  2. 运行代码,直到得到内存中的错误
  3. 查看使用了多少内存(确保检查所有工作空间)

也许你现在知道额外的内存去哪里了。如果您没有发现大量内存正在使用,请继续这样做:

  1. 检查memory命令,看看还有多少内存可用
  2. 仔细观察正在执行的行,可能实际上需要大量的内存。

如果其他一切都失败了,在这里分享你的发现,其他人可以帮助你寻找它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25682199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档