matlab扩大内存的方法
来源:互联网 发布:软件资产管理制度 编辑:程序博客网 时间:2024/04/29 15:53
使用Matlab生成很大的图片时,碰到了"out of memory"的错误,导致图片无法生成,于是不得不扩展虚拟内存。具体过程记录如下:
1)查看当前的虚拟内存
在Matlab的命令行中,键入命令:feature ('memstats'),得到如下结果:
Physical Memory (RAM): In Use: 1499 MB (5dba0000) Free: 1571 MB (6237e000) Total: 3071 MB (bff1e000) Page File (Swap space): In Use: 1694 MB (69e67000) Free: 4446 MB (115e1e000) Total: 6140 MB (17fc85000) Virtual Memory (Address Space): In Use: 633 MB (279fe000) Free: 1413 MB (585e2000) Total: 2047 MB (7ffe0000) Largest Contiguous Free Blocks: 1. [at 22cb0000] 1239 MB (4d750000) 2. [at 7da16000] 28 MB ( 1cda000) 3. [at 70856000] 17 MB ( 112a000) 4. [at 77281000] 16 MB ( 107f000) 5. [at 7f7f0000] 6 MB ( 68f000) 6. [at 7ae71000] 6 MB ( 60f000) 7. [at 7cd15000] 5 MB ( 5eb000) 8. [at 7409e000] 5 MB ( 5d2000) 9. [at 72b63000] 5 MB ( 53d000) 10. [at 71ab3000] 4 MB ( 4fd000) ======= ========== 1336 MB (53868000)
结果中显示的虚拟内存为Virtual Memory=2047MB;
2)增加虚拟内存
下面方法可使win7 32位OS下用于matlab的虚拟内存增加到3G。
设置: 开始---所有程序---附件,右击命令提示符,选择“以管理员身份运行”,
输入:bcdedit /set IncreaseUserVa 3072 回车,重启电脑。
取消: 开始---所有程序---附件,右击命令提示符,选择“以管理员身份运行”,
输入:bcdedit /deletevalue IncreaseUserVa 回车,重启电脑。
( 注:bcdedit是NT60系列操作系统(Windows 7/Vista/2008)中的一个命令行工具,用于建立和重新配置bootloader。上面命令作用允许用户的程序使用最大3G内存,而win7 32能识别的就是3G,所以,试图将3072改成更大值在32位系统中是徒劳的!)
3)查看结果
Physical Memory (RAM): In Use: 1355 MB (54be5000) Free: 1661 MB (67df7000) Total: 3017 MB (bc9dc000) Page File (Swap space): In Use: 2931 MB (b73af000) Free: 3126 MB (c3650000) Total: 6057 MB (17a9ff000) Virtual Memory (Address Space): In Use: 755 MB (2f36c000) Free: 2316 MB (90c74000) Total: 3071 MB (bffe0000) Largest Contiguous Free Blocks: 1. [at 7fff0000] 1023 MB (3ff8a000) 2. [at 2bcb0000] 579 MB (24340000) 3. [at 50000000] 428 MB (1ac00000) 4. [at 6ac16000] 83 MB ( 53ea000) 5. [at 284f0000] 47 MB ( 2fc0000) 6. [at 77ce1000] 22 MB ( 167f000) 7. [at 7c43b000] 14 MB ( ea5000) 8. [at 7f7f0000] 7 MB ( 7f0000) 9. [at 711bb000] 6 MB ( 665000) 10. [at 7be74000] 5 MB ( 51c000) ======= ========== 2219 MB (8ab09000) ans = 1.0733e+09
从结果可以看出,虚拟内存提高到了3071MB,重新运行程序,成功!
4)延伸思考
继续加大图片的size,发现还是会出现内存不够的情况,看来上述方法治标不治本,只能考虑程序本身是否存在设计上的问题了!
参考文章:http://www.cnblogs.com/bovine/archive/2011/10/11/2206876.html
- matlab扩大内存的方法
- matlab扩大内存的方法
- 扩大Eclipse的内存
- 扩大myeclipse中tomcat启动后使用的内存方法
- 扩大eclipse的运行内存,扩大tomcat的内存
- 扩大swap分区的方法
- 在eclipse中扩大tomcat的内存
- Matlab 内存溢出的管理方法
- Matlab中查看内存环境的方法
- matlab 扩大虚拟内存
- matlab扩大虚拟内存
- matlab 扩大虚拟内存
- matlab 扩大虚拟内存
- matlab扩大虚拟内存
- matlab 扩大虚拟内存
- 虚拟机扩大虚拟硬盘的方法
- 扩大虚拟机的硬盘大小方法
- Solaris下如何扩大/分区的方法
- MyEclipse注释设置
- 安装python模块
- union和struct的区别
- xampp access forbidden resolve
- GetComputerName和SetComputerName在Linux下的实现
- matlab扩大内存的方法
- Android自测题05
- Android开发者应该深入学习的10个开源应用项目
- 使用嵌入式关系型SQLite数据库存储数据
- xss碎片
- (i++)+(++i)+(i++)之罪恶语句
- linux 下视频设备设置的几个参数 v4l video4linux v4l2 ioctl
- 【Java】json数据解析
- Android 往手机内存卡上存储用户名与密码的操作