Matlab “是否有一个阈值?”;“内存不足”;错误?

Matlab “是否有一个阈值?”;“内存不足”;错误?,matlab,memory,memory-management,out-of-memory,Matlab,Memory,Memory Management,Out Of Memory,当我使用一些代码时,比如 x = randi(100,[1000 1000000]); 我的内存不足错误 但是当我 x = randi(100,[1000 500000]); 我没有收到任何错误,但我的笔记本电脑几乎停止工作 这有时会让我花费强制关机 我真的希望内存不足错误 Q1+Q2:对于该错误是否有一个我可以调整的阈值 问题3:或者任何其他建议(可能限制MATLAB可以访问的内存) 谢谢,A1:是的,记忆是最棒的 虽然内存有限,但您观察到的几乎停止工作“与计算所有500000000个元

当我使用一些代码时,比如

 x = randi(100,[1000 1000000]);
我的
内存不足
错误

但是当我

x = randi(100,[1000 500000]);
我没有收到任何错误,但我的笔记本电脑几乎停止工作

这有时会让我花费
强制关机

我真的希望
内存不足
错误

Q1+Q2:对于该错误是否有一个我可以调整的阈值

问题3:或者任何其他建议(可能限制MATLAB可以访问的内存)

谢谢,

A1:是的,记忆是最棒的 虽然内存有限,但您观察到的几乎停止工作“与计算所有500000000个元素的值并存储它们的任务相关的CPU限制处理有关。正如您在A3中所看到的,此尝试只需要4GB RAM存储来处理
x

A2:是的。添加更多内存以调整Treshold 如果您的问题需要更大的对象,请获得更多的空间来存储它;如果CPU受限的观察很重要,请从分布式处理(无论是云还是网格)获取计算以卸载本地主机

A3:是的。使用
whos

谢谢你的回答。假设在
4G
中,我的内存已满,当MATLAB中的所有变量都大于
3G
时,我是否可以调整以产生错误?因为即使我使用了更多内存,也有可能在某些点挂起。请尝试
help whos
Kamtal
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>