FAQ
what kind of memory limitations to processes running on 32-bit python (with 32-bit C extensions like scipy) have on 64-bit Windows? I'm having occasional MemoryErrors when running a python program on 64-bit Windows 7 that runs fine on my OS X machine. Both machines are using a 64-bit OS and have 4GB of RAM.

Thanks,
-Craig

Search Discussions

  • Michel Claveau - MVP at Feb 11, 2011 at 7:07 pm
    Hi!

    Python 32 bits (& Pywin32) limits are:
    2 GB on win.7_32 bits
    4 GB on win.7_64 bits

    That's what I found in my tests.

    @-salutations
    --
    Michel Claveau
  • Martin v. Loewis at Feb 11, 2011 at 8:54 pm

    Am 11.02.2011 19:41, schrieb Craig Yoshida:
    what kind of memory limitations to processes running on 32-bit python
    (with 32-bit C extensions like scipy) have on 64-bit Windows? I'm
    having occasional MemoryErrors when running a python program on
    64-bit Windows 7 that runs fine on my OS X machine. Both machines
    are using a 64-bit OS and have 4GB of RAM.
    In addition to the limitations Michel reports: on a 32-bit system,
    objects are typically limited to using at most 2GiB, per object
    (of course, you could have at most two objects that come close to
    this size, since the whole address space would not be larger than
    4GiB).

    Regards,
    Martin
  • Sherm Pendley at Feb 11, 2011 at 9:50 pm

    "Martin v. Loewis" <martin at v.loewis.de> writes:

    Am 11.02.2011 19:41, schrieb Craig Yoshida:
    what kind of memory limitations to processes running on 32-bit python
    (with 32-bit C extensions like scipy) have on 64-bit Windows? I'm
    having occasional MemoryErrors when running a python program on
    64-bit Windows 7 that runs fine on my OS X machine. Both machines
    are using a 64-bit OS and have 4GB of RAM.
    In addition to the limitations Michel reports: on a 32-bit system,
    objects are typically limited to using at most 2GiB, per object
    (of course, you could have at most two objects that come close to
    this size, since the whole address space would not be larger than
    4GiB).
    IIRC, 32-bit Windows programs are limited to 2GiB, reserving the rest
    of the virtual address space for Windows' own use.

    Also, 32-bit apps remain 32-bit, even if they're running on a 64-bit
    capable OS. Assuming you're running Snow Leopard on your Mac, you're
    using a 64-bit Python interpreter *and* a 64-bit OS. You need to have
    both to take advantage of a 64-bit memory space.

    sherm--

    --
    Sherm Pendley
    <http://camelbones.sourceforge.net>
    Cocoa Developer
  • MRAB at Feb 12, 2011 at 12:27 am
    On 11/02/2011 21:50, Sherm Pendley wrote:
    "Martin v. Loewis"<martin at v.loewis.de> writes:
    Am 11.02.2011 19:41, schrieb Craig Yoshida:
    what kind of memory limitations to processes running on 32-bit python
    (with 32-bit C extensions like scipy) have on 64-bit Windows? I'm
    having occasional MemoryErrors when running a python program on
    64-bit Windows 7 that runs fine on my OS X machine. Both machines
    are using a 64-bit OS and have 4GB of RAM.
    In addition to the limitations Michel reports: on a 32-bit system,
    objects are typically limited to using at most 2GiB, per object
    (of course, you could have at most two objects that come close to
    this size, since the whole address space would not be larger than
    4GiB).
    IIRC, 32-bit Windows programs are limited to 2GiB, reserving the rest
    of the virtual address space for Windows' own use.
    It's possible to configure 32-bit Windows to allow up to 3GB user RAM.
    Also, 32-bit apps remain 32-bit, even if they're running on a 64-bit
    capable OS. Assuming you're running Snow Leopard on your Mac, you're
    using a 64-bit Python interpreter *and* a 64-bit OS. You need to have
    both to take advantage of a 64-bit memory space.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppython-list @
categoriespython
postedFeb 11, '11 at 6:41p
activeFeb 12, '11 at 12:27a
posts5
users5
websitepython.org

People

Translate

site design / logo © 2022 Grokbase