matlab怎么增加內(nèi)存
matlab怎么增加內(nèi)存
matlab怎么增加內(nèi)存?在用MATLAB做圖像處理時(shí) 經(jīng)常會(huì)碰到內(nèi)存溢出的情況,下面是學(xué)習(xí)啦小編收集整理的幾種解決方法,希望對(duì)大家有幫助!
matlab內(nèi)存溢出的解決方案(整理)
1)增加虛擬內(nèi)存的方法是不可行的
2)使用PACK:PACK可以將matlab中的變量導(dǎo)出到磁盤中,以增加可用內(nèi)存
3)減少變量的內(nèi)存開銷
4)64位架構(gòu):采用64位的軟硬件架構(gòu)
5)3GB 切換(3GB switch):由于在windows上運(yùn)行matlab時(shí),如果內(nèi)存的使用超過約1.7G左右就要出現(xiàn)這種錯(cuò)誤,而無論你有多大的內(nèi)存也沒用。幸好現(xiàn)在在Windows XP上,MATLAB現(xiàn)在支持3GB切換(3GB switch)啟動(dòng)選項(xiàng)(boot option),配置額外的1GB的可尋址內(nèi)存到每個(gè)程序上。這增加了你可以儲(chǔ)存到MATLAB workspace中資料的總量約到2.7 GB。這相當(dāng)于33億的精度值。此新增的內(nèi)存區(qū)塊和MATLAB使用剩下的(內(nèi)存)并不是連續(xù)的,所以你不能建立一個(gè)數(shù)組來填滿此空間。
6)更有效的優(yōu)化方案調(diào)整Java虛擬機(jī)可分配的內(nèi)存大小
matlab java.lang.OutOfMemoryError
可以增加最大內(nèi)存設(shè)置.
1. 查找matlab根路徑.在matlab命令行中敲入:matlabroot
顯示根路徑,如:C:\MATLAB7
2.查看當(dāng)前Java虛擬機(jī)最大堆內(nèi)存, 敲入:java.lang.Runtime.getRuntime.maxMemory
3.查看Java虛擬機(jī)版本.敲入:version -java
4.在 $MATLAB\bin$ARCH 路徑下新建java.opts文件.
$MATLAB是根路徑,例如C:\MATLAB7
$ARCH是系統(tǒng)架構(gòu).例如win32,則在C:\MATLAB7\bin\win32下新建java.opts文件.
5.用記事本打開java.opts文件,
對(duì)于不同的版本的Java虛擬機(jī),輸入:
The following table shows the default settings MATLAB uses for versions of the JVM:
JVM Initial Heap Size Max Heap Size
1.6.0 -Xms64m -Xmx128m (32-bit)
-Xmx196m (64-bit)
1.5.0 -Xms64m -Xmx96m (32-bit)
-Xmx128m (64-bit)
1.4.2 -Xms16m -Xmx96m
1.3.1 -Xms16000000 -Xmx64000000
1.2.2 -Xms16000000 -Xmx64000000
1.1.8 -ms16000000 -mx64000000
例如我的Java是1.4.2,在java.opts文件寫入-Xmx96m,保存就ok啦
如果輸入錯(cuò)誤就報(bào)錯(cuò):warning : Failed to start to Java Virtual machine
6. 重啟matlab,敲入java.lang.Runtime.getRuntime.maxMemory
顯示最大內(nèi)存改變,設(shè)置成功.