[Eeglablist] [Fwd: Re: memory problems when reading in 128 channels Biosemi data]
Toby Fernsler
toby at sccn.ucsd.edu
Wed May 30 21:24:07 PDT 2007
ah, I meant 60GB, not MB.
Toby
Toby Fernsler wrote:
> Nathaniel,
> Good point about "pack", it was causing me problems with earlier Matlab
> versions and I had been avoiding it. It seems to work ok now.
> I was thinking fragmentation of the OS's memory pages would influence
> fragmentation of Matlab's memory space, but I don't really know.
> Anyone? It may vary by OS as well...
> As for Matlab64, Rey in our lab hit the ceiling at 60MB, but that might
> have been a hard drive space issue.
> Thanks for the insightful reply,
> Toby
>
> -------- Original Message --------
> Subject: Re: [Eeglablist] memory problems when reading in 128 channels
> Biosemi data
> Date: Tue, 22 May 2007 21:51:57 -0700
> From: Nathaniel Smith <njs at pobox.com>
> To: Toby Fernsler <toby at sccn.ucsd.edu>
>
>
>
>
> On Tue, May 22, 2007 at 03:18:54PM -0700, Toby Fernsler wrote:
>
>> One odd issue that Matlab has is memory fragmentation: any Matlab
>> variable must be loaded in a contiguous block of memory. So even if you
>> have 2GB available, you may not be able to load a 1GB file if they're
>> all in chunks smaller than 1GB. Matlab fragments its working RAM as it
>> works, and has no other means of addressing this than by restarting.
>>
>
> Isn't this where the "pack" command comes in handy?
>
>
>> Also it may not be able to grab excessively fragmented memory, which can
>> happen if the computer has been on for awhile. So, as always, try
>> rebooting.
>>
>
> This seems wrong to me. Each Matlab variable needs to occupy a
> continuous span of Matlab's own virtual address space, but a
> contiguous block of virtual memory does not have to be backed by a
> continuous block of real memory -- the OS can and does assemble
> physical memory pages in a pretty arbitrary fashion, and contiguous
> blocks of physical memory are an _extremely_ rare commodity.
>
> So the limiting factors for fragmentation issues aren't how long the
> computer has been running or how much memory you have installed, but
> rather how long Matlab has been running and how large your virtual
> address space is -- if you run 32-bit Matlab for a long time you might
> have problems, and if you're running 64-bit Matlab then in practice
> fragmentation simply can't be an issue.
>
> ...If you're running on Windows then restarting might still help, of
> course, just if it does it won't be for any reason accessible to human
> understanding.
>
> -- Nathaniel
>
>
More information about the eeglablist
mailing list