总结了下大家对于运行MATLAB代码,显示内存不足的问题,在网上进行调研,总结如下:
一般out of memenry存在以下几种情况:
1、 变量需要的存储空间超过了可用的内存空间
2、 数据需要的存储空间,超过内存中最大的可用连续存储空间
3 、程序和问题求解方法的设计不周,导致内存溢出。
在MATLAB命令窗里运行 system_dependent memstats,可以看到内存的使用情况。
1. 增加虚拟内存
Windows XP,右键“我的电脑”->属性->高级->性能->设置,从而改变其虚拟内存。
Windows 7,右键“计算机”->属性->(左边栏)高级系统设置->高级->(性能)设置->高级->(虚拟内存)更改,建议物理内存的两倍左右,如果物理内存已经3G+,那就不用调整了。
2. 插根内存条
3. 换成64位的软件和操作系统
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 XPProfessional” /noexecute=optin /fastdetect /3G
5. 使用GPU
6. 如果有必要,不要启动java虚拟机,采用matlab -nojvm启动

针对MATLAB运行过程中遇到的内存不足问题,本文提供了多种解决方案,包括增加虚拟内存、升级到64位系统、使用3GB开关、GPU加速、代码优化等,帮助用户有效提升内存使用效率。
最低0.47元/天 解锁文章
2879

被折叠的 条评论
为什么被折叠?



