2011-07-11 18 views
2

Mac OS端末でPythonプログラムを実行しただけで、メモリリークが異常に発生しました。Mac OS端末でPythonを実行しているときにメモリリークが発生しました

プログラムは、このような単純です:それはすべて私の記憶を使い切るまで

 
for i in xrange(1000000000, 2000000000, 10): 
    i2 = i * i 
    print i, i2, str(i2)[::2] 
    if str(i2)[::2] == '1234567890': 
    break 

プログラムが実行されている、それはより多くのメモリを消費します。 私はプログラムを終了すると、私のTerminal.appはまだ多くのメモリを消費するので、Terminal.appのバグだと思いますか?

誰も同じような経験をしていますか?

答えて

14

これはバグではありません。それは実際には機能です。 Terminal.appは他の多くの端末エミュレータと同様に、最近の出力をバッファに保存するので、ページを上にスクロールしたり、スクロールバーでスクロールしたりすることができます。これは、[ターミナル] - > [環境設定] - > [設定]に移動して、スクロールバック制限を[無制限]以外の値に設定することで、どれくらい大きくするかを制限できます。

+0

答えをありがとう。はい、私は履歴の最大行を無制限に設定しました。私は質問を投稿する前にこれをチェックするのを忘れていました。 – FrostNovaZzz

5

メモリをリークしているのはPythonではありません。もっと見る。私のマシンでは、Pythonプロセスは静かで安定した3.5 MBのメモリのままです。

表示されるメモリ使用量の増加は、ターミナルが出力を廃棄しないことが原因です。この動作をPreferences、Settingsに変更し、最大行番号を「無制限」以外の値に設定することができます。