matlab out of memory
发布:xjsunxm | 分类:Matlab软件培训
关于本站
人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!
获取电子版《CDA一级教材》
完整电子版已上线CDA网校,累计已有10万+在读~ 教材严格按考试大纲编写,适合CDA考生备考,也适合业务及数据分析岗位的从业者提升自我。
TOP热门关键词
Outofmemory问题总结【原创】(二)1.尽量早的分配大的矩阵变量Matlab使用heapmethod管理内存。当在Matlabheap中没有足够的内存使用时,它会向系统请求内存。但是只要内存碎片可以存下当前的变量,Matlab会重新使用 ...
免费学术公开课,扫码加入![]() |
1.
尽量早的分配大的矩阵变量
Matlab使用heap method管理内存。当在Matlab heap中没有足够的内存使用时,它会向系统请求内存。但是只要内存碎片可以存下当前的变量,Matlab会重新使用内存。
比如:
a = rand(1e6,1);
b = rand(1e6,1);
使用大约15.4 MB RAM
c = rand(2.1e6,1);使用近似16.4 MB RAM:
a = rand(1e6,1);
b = rand(1e6,1);
clear
c = rand(2.1e6,1);
使用32.4 MB RAM。因为Matlab不能使用a、b被clear的空间,因为它们均小于2.1 MB,而同时它们也很可能是不连续的。
最好的方法:
c = rand(2.1e6,1);
clear
a = rand(1e6,1);
b = rand(1e6,1);
使用16.4 MB RAM
2.
尽量避免产生大的瞬时变量,当它们不用的时候应该及时clear。
3.
尽量的重复使用变量(跟不用的clear掉一个意思)
4.
将矩阵转化成稀疏形式
如果矩阵中有大量的0,最好存储成稀疏形式。稀疏形式的矩阵使用内存更少,执行时间更短。
例如:
1000×1000的矩阵X,它2/3的元素为0,使用两种存储方法的比较:
Name
Size
Bytes
Class
X
1000x1000
8000000
double array
Y
1000x1000
4004000
double array (sparse)
5.
使用pack命令
当内存被分为很多碎片以后,其实本身可能有很大的空间,只是没有作构的连续空间即大的Block而已。如果此时Out of Memory,此时使用pack命令可以很好的解决此问题。
6.
如果可行的话,将一个大的矩阵划分为几个小的矩阵,这样每一次使用的内存减少。
7.
增大内存
问题三: Increase the size of the swap file.
wap space的设置与使用的操作系统有关,具体的如下:
1.
UNIX
Information about swap space can be procured by typing pstat -s at the UNIX command prompt. For detailed information on changing swap space, ask your system administrator.
2.
Linux
Swap space can be changed by using the mkswap and swapon commands. For more information on the above commands, type man followed by the command name at the Linux prompt.
3.
Windows NT
Follow the steps shown here: Right-click the My Computer icon, and select Properties. Select the Performance tab and click the Change button to change the amount of virtual memory.
4.
Windows 2000
右键“我的电脑”->属性->高级->性能->设置,从而改变其虚拟内存。
5.
Windows XP
右键“我的电脑”->属性->高级->性能->设置,从而改变其虚拟内存。
问题四:尽量少时用系统资源(对于Windows)
Windows中字体、窗口等都是要占用系统资源的,所以在Matlab运行时尽量不要打开不用的窗口。
问题五:Reloading Variables on UNIX Systems
由于我不使用UNIX系统,这里不介绍,直接从Help中粘过来
On UNIX systems, MATLAB does not return memory to the operating system even after variables have been cleared. This is due to the manner in which UNIX manages memory. UNIX does not accept memory back from a program until the program has terminated. So, the amount of memory used in a MATLAB session is not returned to the operating system until you exit MATLAB.
To free up the memory used in your MATLAB session, save your workspace variables, exit MATLAB, and then load your variables back in.
Note: 转自 http://www.ilovematlab.cn/thread-19610-1-1.html
「经管之家」APP:经管人学习、答疑、交友,就上经管之家!
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
您可能感兴趣的文章
- Matlab软件 ... | [Numerical Methods in Finance ...
- Matlab软件 ... | SPSS SAS MATLAB
- Matlab软件 ... | matlab程序调试和优化_matlab
- Matlab软件 ... | MATLAB教程
- Matlab软件 ... | matlab空间面板LM error和lag检验 ...
- Matlab软件 ... | 【求助】matlab-欧式期权定价之显 ...
- Matlab软件 ... | matlab空间面板LM error和lag检验 ...
- Matlab软件 ... | Visual Media Processing Using ...
人气文章
本文标题:matlab out of memory
本文链接网址:https://bbs.pinggu.org/jg/ruanjianpeixun_matlabruanjianpeixun_1076244_1.html
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。



