- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MATLAB内存管理
MATLAB内存管理 用 Matlab 进行大规模科学计算或仿真时,内存是一个需要时常注意的问题。在matlab里运行system_dependent memstats就可以看到内存的使用状况。当你写的 Matlab 程序跳出“Out of Memory” 时,以下几点措施是需要优先考虑的解决方法:1. 升级内存2. 升级64位系统3. 增加虚拟内存4. 采用3GB开关启动系统由于32位 Windows 操作系统的限制,每个进程只能使用最多 2GB 的虚拟内存地址空间,因此 Matlab 的可分配内存也受到相应的限制。Matlab 7.0.1 引进了新的内存管理机制,可以利用 Windows 的 3GB 开关,使用 3GB 开关启动的 Windows 每个进程可以在多分配 1 GB 的虚拟地址空间。具体做法是:修改C盘根目录 boot.ini 启动选项加上 /3G,例如:multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=Microsoft Windows XP Professional /noexecute=optin /fastdetect /3G5. 如果必有必要,不要启动java虚拟机,采用matlab -nojvm启动 (在快捷方式属性里面的 ..../matlab.exe) 改为(...../matlab.exe - nojvm)6. 关闭Matlab Server控制面板-管理工具-服务, 再找到matlabserver对应项,把启动类型的自动改为手动即可 matlab server作为后台服务可以在其它机器上通过网络调用此服务,进行计算任务。 7. Windows中字体、窗口等都是要占用系统资源的,所以在Matlab运行时尽量不要打开不用的窗口。除此以外,更关键的是需要弄清楚以下几个问题:问题一:Matlab是如何存储矩阵的?Matlab中矩阵是以Block,也就是块的形式存储的。也就是说,当Matlab在为即将存储的矩阵划分块时,如果没有相应大小的连续内存,即使实际内存没有被完全使用,它还是会报告“Out of Memory”。问题二:如何高效使用Memory?Matlab 中数组必须占用连续分配的内存段,当无法为新建的数组分配连续的内存段的时候,”Out of Memory” 就会出现。在使用的过程中,由于存储单元的不断的被分配和清除,反复分配和释放数组会使内存被分割成不连续的区域,可用的连续内存段减少,很容易造成“Out of Memory”。因此当 Matlab 刚刚启动时其连续内存最多,此时往往可以新建非常大的数组,这一点可以用命令 feature(’memstats’)(在 7.0 版本以上)看出。如果现实的最大连续内存段很小,但实际可用内存(非连续的)仍旧很多,则表明内存中碎片太多了。此时可以考虑用 pack 命令,pack 命令的作用就是将所有内存中的数组写入硬盘,然后重新建立这些数组,以减少内存碎片。此外,在命令行或者程序中都可以使用 clear 命令,随时减少不必要的内存。因此,治本的方法如下:1. 在命令行输入 pack 整理内存空间当内存被分为很多碎片以后,其实本身可能有很大的空间,只是没有作构的连续空间即大的Block而已。如果此时Out of Memory,此时使用pack命令可以很好的解决此问题。2. 使用稀疏矩阵或将矩阵转化成稀疏形式 sparse如果矩阵中有大量的0,最好存储成稀疏形式。稀疏形式的矩阵使用内存更少,执行时间更短。例如:000×1000的矩阵X,它2/3的元素为0,使用两种存储方法的比较:NameSizeBytesClassX1000x10008000000double arrayY1000x10004004000double array (sparse)3. 尽量避免产生大的瞬时变量,把没必要的变量clear掉或当它们不用的时候应该及时clear。4. 减少变量,尽量的重复使用变量(跟不用的clear掉一个意思)。5. 把有用的变量先save,后clear 掉,需要时再读出来。下面介绍一下关于clear、save、load的特殊用法,这对在for或while等多重循环里出现out of memory非常有效。for k = 1:N % N为循环次数% ---------------------var0 = k; % 获得变量var0 %----------------------string = [sprintf(var_%d, k) = var0; ];eval(string); %
您可能关注的文档
最近下载
- EN 1998-5-2004(中文版) 欧洲规范8抗震结构设计第5部分:基础、挡土结构和岩土工程.pdf VIP
- AfterEffects动态图形与动效设计(全彩慕课版)PPT全套完整教学课件.pptx
- 恋上绘本,爱上绘本美木活动——浅谈巧借绘本优化幼儿美术活动的策略.doc VIP
- 二甲复审工作进度安排.doc VIP
- 智阅绘本,绘亦创意——借绘本开展幼儿创意美术活动.docx VIP
- 巧借绘本开展幼儿美术教育活动的策略.docx VIP
- 二甲评审督导检查表.doc VIP
- 《基于绘本的中班幼儿美术教育活动的实践研究—以某幼儿园为例》14000字.docx VIP
- 基于幼儿绘本教学开展创意美术活动的研究——以泰州市某幼儿园为例.docx VIP
- excel-公式大全-包含所有excel函数-免分.doc VIP
文档评论(0)