Python does not take up available physical memory
Emile van Sebille
emile at fenx.com
Sat Oct 20 02:46:09 EDT 2012
On 10/19/2012 10:08 AM, Pradipto Banerjee wrote:
> Hi,
>
> I am trying to read a file into memory. The size of the file is around 1
> GB. I have a 3GB memory PC and the Windows Task Manager shows 2.3 GB
> available physical memory when I was trying to read the file. I tried to
> read the file as follows:
>
>>>> fdata = open(filename, ‘r’).read()
>
> I got a “MemoryError”. I was watching the Windows Task Manager while I
> run the python command, and it appears that python **perhaps** never
> even attempted to use more memory but gave me this error.
>
> Is there any reason why python can’t read a 1GB file in memory even when
> a 2.3 GB physical memory is available?
The real issue is likely that there is more than one copy of the file in
memory somewhere. I had a similar issue years back that I resolved by
using numeric (now numpy?) as it had a more efficient method of
importing content from disk.
Also realize that windows may not allow the full memory to user space.
I'm not sure what exactly the restrictions are, but a 4Gb windows box
doesn't always get you 4Gb of memory.
Emile
More information about the Python-list
mailing list