How to prevent this from happening?

Serge Orlov Serge.Orlov at gmail.com
Mon May 1 08:21:11 EDT 2006


phil_nospam_schmidt at yahoo.com wrote:
> Regarding this expression:  1 << x
>
> I had a bug in my code that made x become Very Large - much larger than
> I had intended. This caused Python, and my PC, to lock up tight as a
> drum, and it appeared that the Python task (Windows XP) was happily and
> rapidly consuming all available virtual memory.
>
> Presumably, Python was trying to create a really really long integer,
> just as I had asked it.
>
> Is there a way to put a limit on Python, much like there is a stack
> limit, so that this sort of thing can't get out of hand?

This is a general problem regardless of programming language and it's
better solved by OS. Windows has API for limiting resource usage but it
lacks user tools. At least I'm not aware of them, maybe *you* can find
them. There is Windows System Resource Manager
http://www.microsoft.com/technet/downloads/winsrvr/wsrm.mspx It won't
run on Windows XP, but you may take a look at its distribution CD
image. If you're lucky maybe there is a command line tool for Windows
XP.

Alternatively you can switch to a better OS ;) Any Unix-like (Max OS X,
Linux, *BSD, etc...), they all have resource usage limiting tools out
of the box.




More information about the Python-list mailing list