Wenn ich ein Python-Programm mit einem Speicherverlust ausführe, würde ich normalerweise erwarten, dass das Programm irgendwann stirbt MemoryError
. Stattdessen wird der gesamte virtuelle Speicher verwendet, bis auf meiner Festplatte nicht mehr genügend Speicherplatz vorhanden ist. Ich verwende Mac OS X 10.8 auf einem Retina-MacBook Pro. Mein Computer hat in der Regel zwischen 10 GB und 20 GB frei. Mac OS X ist intelligent genug, um nicht vollständig zu sterben, wenn auf der Festplatte nicht genügend Speicherplatz vorhanden ist (vielmehr wird ein Dialogfeld angezeigt, in dem ich das Beenden meiner GUI-Programme erzwingen kann).
Gibt es eine Möglichkeit, Python zum Sterben zu bringen, wenn der reale Speicher oder eine angemessene Menge virtuellen Speichers knapp wird? Soweit ich das beurteilen kann, passiert dies unter Linux. Ich denke, Mac OS X ist großzügiger als Linux mit virtuellem Speicher (die Tatsache, dass ich eine SSD habe, könnte ein Teil davon sein; ich weiß nicht, wie intelligent OS X mit diesem Zeug ist). Vielleicht gibt es eine Möglichkeit, den Mac OS X-Kernel anzuweisen, niemals so viel virtuellen Speicher zu verwenden, dass weniger als beispielsweise 5 GB auf der Festplatte frei sind?