l = range(int(1E9))

Gisle Vanem gvanem at yahoo.no
Thu Apr 30 20:23:31 CEST 2015


Cecil Westerhof wrote:

> If I execute:
>      l = range(int(1E9)
>
> The python process gobbles up all the memory and is killed. The
> problem is that after this my swap is completely used, because other
> processes have swapped to it. This make those programs more slowly. Is
> there a way to circumvent Python claiming all the memory?
>
> By the way: this is CPython 2.7.8.

On what OS? If I try something similar on Win-8.1
and CPython 2.7.5 (32-bit):

  python -c "for i in range(int(1E9)): pass"
   Traceback (most recent call last):
     File "<string>", line 1, in <module>
   MemoryError


--gv



More information about the Python-list mailing list