- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB的内存管理
MATLAB的内存管理
1,确保内存的连续性Matlab 中数组必须占用连续分配的内存段当无法为新建的数组分配连续的内存段的时候Out of Memory 就会出现由于反复分配和释放数组会使可用的连续内存段减少实际操作中可如下处理:a,将不用的数据存储在工作目录,让下一步计算需要的单独存储b,用clear清空内存c,载入需要计算的变量d,用 pack 命令这是将内存中的数组写入硬盘,然后重建这些数组,以减少内存碎片可以用命令 feature(memstats)来查看内存的使用情况2,减少使用双浮点数Matlab 默认的数字类型是双精度浮点数double每个双浮点数占用 8 个字节对于一些整数操作来说,使用双浮点数显得很浪费在很多精度要求不高的情况下,使用4个字节的单浮点数 single可以减少一半的内存关于单、双浮点数的精度对照如下,以便根据需要选择使用:single: 精度 (1.1921e-007) 最大数 (3.4028e+038)double: 精度 (2.2204e-016) 最大数 (1.7977e+308)
除了升级内存和升级64位系统外,下面几个方法也是解决之道。
# 增加虚拟内存# 采用PACK (在命令行输入 pack 整理内存空间)# 采用3GB 开关启动系统(修改 c盘根目录 boot.ini 启动选项加上 /3G 例如:multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=Microsoft Windows XP Professional /noexecute=optin /fastdetect /3G
# 优化程序,减少变量 (使用稀疏矩阵 sparse ) save 保存变量 clear 变量 load 变量,需要时再读出来# 如果必有必要,不要启动java虚拟机,采用matlab -nojvm启动 (在快捷方式属性里面的 ..../matlab.exe) 改为(...../matlab.exe - nojvm)#关闭Matlab Server??
# 使用 单精度 single 短整数替代 双精度。
关于 3G 开关 和 matlab 的其他优化措施,在本博客另外一篇文章另有详细论述。
/zwwcqu/blog/item/e3b34235c8560f49241f1474.html
为了您的安全,请只打开来源可靠的网址
打开网站????取消
来自: /bi%CB%AB%C9%FA%BB%A8/blog/item/5ab86c38ac2f45e715cecbab.html
KB : 328882/3GB 开关默认情况下,Windows 可以对总计 4 千兆字节 (GB) 的虚拟地址空间进行寻址。默认情况下,此地址空间中的 2 GB 为内核(操作系统)保留,另外 2 GB 是为用户模式程序(如 Exchange 2000 Server)保留的。当您将 /3GB 开关放入操作系统的 Boot.ini 文件中时,您就重新分配了虚拟地址空间,给用户模式程序提供 3 GB 的空间,同时将内核限制为 1 GB。重要说明:只有在以下操作系统中可以使用 /3GB 开关:? Microsoft Windows Server 2003 Enterprise Edition?? Microsoft Windows Server 2003 Datacenter Edition?? Microsoft Windows Small Business Server 2003? Microsoft Windows XP Professional?? Microsoft Windows 2000 Advanced Server?? Microsoft Windows 2000 Datacenter Server?? Microsoft Windows NT 4.0 Enterprise Server?在以下操作系统中不要使用 /3GB 开关:?? Microsoft Windows 2000 Server?? Microsoft Windows NT 4.0 Server?Windows 2000 Server 和 Windows NT 4.0 Server 只可以为用户模式程序分配 2 GB。如果您在 Windows 2000 Server 或 Windows NT 4.0 Server 中使用 /3GB 开关,则会将 1 GB 分配给内核,将 2 GB 分配给用户模式程序,因而您将丢失 1 GB 的地址空间。当您的计算机中安装的物理内存超过 1 GB 后,用户模式程序的 2GB 虚拟内存地
文档评论(0)