matlab's memory usage slowly creeps up when running programs that utilize lots of variables/matrices that can be big. when a matrix is allocated it must be allocated from a contiguous piece of the heap (the available memory), so even though you may not be using any given single large matrix, if you keep reallocating, then memory can be swallowed up. even if you "clear" variables you can run out of memory as these cleared pieces just end up creating a sort-of fragmented heap. matlab does not do automatically packing of variables you have to issue the "pack" command to do that, which will dump all variables to disk, and then clear all variables and then read then pack into the memory, allocating from the heap sequentially.
-RCW
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Robert C. Welsh, PhD
Research Assistant Professor
Departments of Radiology and Psychiatry
University of Michigan
(734) - 764 - 8541 (fax)
(734) - 647 - 6781 (Ofc)
rcwelsh @ med.umich.edu
>>> Guillaume Flandin <[log in to unmask]> 12/14/09 9:03 AM >>>
Dear Amir,
as you've noticed, a 64bit MacOS version of Matlab is available since
R2009b:
http://www.mathworks.com/support/sysreq/roadmap.html
http://www.mathworks.com/support/sysreq/current_release/macintosh.html
and is supported in SPM8:
http://www.fil.ion.ucl.ac.uk/spm/software/spm8/#Requirements
http://en.wikibooks.org/wiki/SPM/Installation_on_64bit_Mac_OS_(Intel)
If your platform is compatible, I would recommend you to install and use
it. I didn't hear any negative feedback from it.
If you want to read more on memory limitations, these links might be useful:
http://www.mathworks.com/support/tech-notes/1100/1106.html
http://www.mathworks.com/support/tech-notes/1100/1107.html
Note that this relates to addressable memory and not file sizes, ie you
should also be able to read/write 'large' files with a 32bit Matlab.
While a 64bit Matlab and your 12GB of memory should get you rid of the
"out of memory" errors, this is still not really satisfactory as SPM
functions should not try to have that much data in memory at the same
time. You mentioned that the problem is occurring when doing a M/EEG
"Convert to Images" processing of time-frequency data: what are the
dimensions of the dataset?
Best regards,
Guillaume.
Amir H Javadi wrote:
> Dear Vladimir :-)
>
> Thanks for your follow. As I know now, 32bit and 64bit MATLAB
> applications are two different applications. Current version of 64bit
> MATLAB is 2009b. More over, one can run 64bit MATLAB in 32bit mode as
> following; matlab.exe -win32 will start 32 bit MATLAB on Windows, matlab
> -glnx86 will start 32 bit MATLAB on Linux. So, my current decision,
> stick to my current old MATLAB :-) until 64bit MATLAB becomes a little
> bit more conventional.
>
> Have a good day :-)
> Amir
>
>
>
>
> 2009/12/14 Vladimir Litvak <[log in to unmask]
> <mailto:[log in to unmask]>>
>
> Dear Amir,
>
> I suggest that you talk to a Mac expert to make sure that your
> Matlab is indeed 64-bit. From
> reading http://www.macworld.com/article/142379/2009/08/snow_leopard_64_bit.html
> it sounds like it's quite complicated on Mac and actually getting
> 64-bit is a combination of the right hardware, right OS and the
> right Matlab version and also they say that the OS can run programs
> in either 64-bit or a 32-bit mode. So perhaps although theoretically
> you should be ale to get 64 bit, in practice something goes wrong
> somewhere.
>
> Best,
>
> Vladimir
>
> On 14 Dec 2009, at 09:20, Amir H Javadi wrote:
>
>> Dear Torben
>>
>> It is an interesting command. I receive "MACI". So, it means that
>> my Mac is 32bit, right? But am I still able to install 64bit
>> MATLAB? Referring to the MathWorks web
>> site http://www.mathworks.co.uk/support/faq/macintel64.html my OS
>> and processors match the system requirements.
>>
>> Have a good time,
>> Amir
>>
>>
>>
>>
>> 2009/12/14 Torben Ellegaard Lund <[log in to unmask]
>> <mailto:[log in to unmask]>>
>>
>> Dear Robert
>>
>> What happens if you type:
>>
>> computer
>>
>>
>> at the matlab prompt? I you are running the 64 bit version you
>> should get:
>>
>> >> computer
>>
>> ans =
>>
>> MACI64
>>
>>
>>
>> Best
>> Torben
>>
>>
>>
>> Den 14/12/2009 kl. 06.20 skrev Amir H Javadi:
>>
>>
>> Dear Robert
>>
>> Thanks for your reply. I'm working with Mac OS X 10.5.5
>> which supports 64bit MATLAB.
>>
>> http://www.mathworks.co.uk/support/faq/macintel64.html
>>
>> Have a good week :-)
>> Amir
>>
>>
>>
>>
>> 2009/12/14 Robert C. Welsh <[log in to unmask]
>> <mailto:[log in to unmask]>>
>> What type of OS: windoze? Mac osx? Linux? Version of matlab?
>>
>> To access memory you'll need 64bit matlab and appropriate
>> os version. Check out mathworks website to get details.
>>
>> 32 bit can get you theoritically 4gig, but I believ 32bit
>> windoze is built to only support 2gig
>>
>> Your best bet is 64bit OS and 64bit matlab.
>>
>> Best
>>
>> Robert Welsh
>> ------------------------------
>> typos due to iPhone.
>>
>>
>> On Dec 13, 2009, at 1:39 PM, Amir H Javadi
>> <[log in to unmask] <mailto:[log in to unmask]>> wrote:
>>
>> Hi :-)
>>
>> One annoying problem. I so often receive the "Out of
>> Memory" error message. I have 12GB of memory installed on
>> my machine and most of the time it is free for at least
>> 4GB. But I feel my MATLAB can't manage to use more than
>> 2GB. What should I do? When ever MATLAB goes over 2GB of
>> memory usage it gives me the "Out of Memory" error message
>> and stops.
>>
>> Have a good time,
>> Amir
>>
>> **********************************************************
>> Electronic Mail is not secure, may not be read every day,
>> and should not be used for urgent or sensitive issues
>>
>>
>>
>
>
--
Guillaume Flandin, PhD
Wellcome Trust Centre for Neuroimaging
University College London
12 Queen Square
London WC1N 3BG
**********************************************************
Electronic Mail is not secure, may not be read every day, and should not be used for urgent or sensitive issues
|