当我使用某些代码时,
x = randi(100,[1000 1000000]);
我收到Out of Memory
错误。
然而,当我有,
x = randi(100,[1000 500000]);
我没有收到任何错误,但我的笔记本电脑几乎停止工作了!
有时我会花费force shutdown
。
我真的更喜欢Out of Memory
错误!
Q1 + Q2:该错误是否存在 阈值 ,我可以调整?
问题3:或者其他任何建议(可能会限制MATLAB可以访问的内存)?
谢谢,
答案 0 :(得分:1)
虽然内存是限制,但您对 "的观察几乎停止工作" 与与任务关联的CPU绑定处理相关计算所有500,000,000个元素的值并存储起来。正如您在 A3 中看到的那样,此尝试需要4GB RAM存储空间才能处理 x
。
如果您的问题需要更大的对象,请获取更多空间来存储它,如果您的CPU绑定观察很重要,请从分布式处理(无论是云还是网格)获取计算以卸载本地主机。
whos
mCloud:1> x = randi( 100, [1000 500000] );
mCloud:2> whos
Variables in the current scope:
Attr Name Size Bytes Class
==== ==== ==== ===== =====
ans 1x70 757 cell
x 1000x500000 4000000000 double
Total is 500000070 elements using 4000000757 bytes
mCloud:3>