學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 電腦硬件知識 > 內(nèi)存知識 > matlab怎么增加內(nèi)存

matlab怎么增加內(nèi)存

時間: 本達(dá)868 分享

matlab怎么增加內(nèi)存

  matlab怎么增加內(nèi)存?在用MATLAB做圖像處理時 經(jīng)常會碰到內(nèi)存溢出的情況,下面是學(xué)習(xí)啦小編收集整理的幾種解決方法,希望對大家有幫助!

  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時,如果內(nèi)存的使用超過約1.7G左右就要出現(xiàn)這種錯誤,而無論你有多大的內(nèi)存也沒用。幸好現(xiàn)在在Windows XP上,MATLAB現(xiàn)在支持3GB切換(3GB switch)啟動選項(xiàng)(boot option),配置額外的1GB的可尋址內(nèi)存到每個程序上。這增加了你可以儲存到MATLAB workspace中資料的總量約到2.7 GB。這相當(dāng)于33億的精度值。此新增的內(nèi)存區(qū)塊和MATLAB使用剩下的(內(nèi)存)并不是連續(xù)的,所以你不能建立一個數(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文件,

  對于不同的版本的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啦

  如果輸入錯誤就報錯:warning : Failed to start to Java Virtual machine

  6. 重啟matlab,敲入java.lang.Runtime.getRuntime.maxMemory

  顯示最大內(nèi)存改變,設(shè)置成功.

1326088