32-bit python memory limits?

Larry Bates larry.bates at websafe.com`
Mon Jun 23 23:36:45 EDT 2008


Gary Robinson wrote:
> I'm running a Python job on OS X 10.5.3 and the Python 2.5.2 that's available as a binary download at python.org for OS X.
> 
> I ran a python program tonight that ended up using much more memory than anticipated. It just kept on using more and more memory. Instead of killing it, I just watched it, using Activity Monitor. I assumed that when it had 2GB allocated it would blow up, because I thought 32-bit python could only address 2GB.
> 
> But Activity Monitor reported that it had allocated 3.99GB of virtual memory before it finally blew up with malloc errors. Was my understanding of a 2GB limit wrong? I guess so! But I'm pretty sure I saw it max out at 2GB on linux...
> 
> Anybody have an explanation, or is it just that my understanding of a 2GB limit was wrong? Or was it perhaps right for earlier versions, or on linux...??
> 
> Thanks for any thoughts,
> Gary
> 
> 
Yep, 2Gb is only 31 bits.  4Gb is 32 bits (since memory address is an unsigned).

-Larry



More information about the Python-list mailing list