4
Pythonでのメモリの解放
次の例では、メモリの使用に関していくつか質問があります。 通訳で走れば foo = ['bar' for _ in xrange(10000000)] 私のマシンで使用されている実際のメモリはに達します80.9mb。そして私は・・・それから私は、 del foo 実メモリーはダウンしますが、のみ30.4mbです。インタプリタは4.4mbベースラインを使用するので26mb、OSにメモリを解放しないことの利点は何ですか?それは、Pythonが「前もって計画を立てている」ためであり、それだけ多くのメモリを再び使用する可能性があると考えていますか? なぜそれ50.5mbが特に放出されるのですか- 放出される量は何に基づいていますか? 使用されたすべてのメモリをPythonに強制的に解放させる方法はありますか(それ以上メモリを使用しないことがわかっている場合)? 注 この質問は、Pythonでメモリを明示的に解放する方法とは異なりますか? この質問は、インタプリタがガベージコレクションを介してオブジェクトを解放した後でも(使用のgc.collect有無にかかわらず)、ベースラインからのメモリ使用量の増加を主に扱っているためです。