MATLAB的内存管理.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档