2011-02-16 49 views
7

在以前版本的MATLAB(7.6)中,我曾經使用過OutOfMemoryErrors,我認爲這有點令人討厭。但自從我升級到7.11後,出於某種原因,它不再拋出錯誤了。MATLAB不拋出OutOfMemoryExceptions或最大變量大小錯誤

這意味着當我不小心嘗試創建一個變量太大的變量時,MATLAB shell將嘗試創建變量並使機器停下來。

我真的很想要拋出這些錯誤,以便我可以正常退出或調試我的代碼,但是我無法在任何地方找到解決方案。

可能有用的細節: 我在64位機器上使用OSX 10.5,內存爲4GB。

在MATLAB 7.6:

$ rand(50000); 
??? Error using ==> rand 
Maximum variable size allowed by the program is exceeded. 

在MATLAB 7.11:

$ rand(50000); 
(hang) 
+0

好問題。胡里斯似乎總是抓住我,我最終創造了巨大的矩陣,使matlab崩潰。 – Tim

+0

7.6 - > 7.11似乎是降級而不是升級? – albanx

+0

@albanx:6-> 11是升級版。這不是7.1.1 – Jonas

回答

2

在版本7.6和7.11之間,Macintosh的MATLAB版本從32位應用程序切換到64位應用程序。所以,現在,而不是用盡地址空間MATLAB的磨合。

+0

這似乎是最可能的答案。我不認爲有一種方法可以人爲地抑制MATLAB中的地址空間數量? –

+0

不在MATLAB中(通常人們需要更多的地址空間!),不幸的是,它看起來像Mac OS X不支持limit/ulimit機制來限制可用內存。 – SCFrench

1

Matlab的不掛。這只是分頁,這需要永遠。嘗試分配大型數組,打開活動監視器,並查看「虛擬內存」的增長和增長。

如果您減少系統上的頁面文件大小,則可以避免該問題。

相關問題