多くのメモリを必要とするスクリプトを実行しています...すべての変数をクリアするために使用できるので、2回目の実行のためにメモリをクリアします...しかし、私の質問は、これをループreset
に入力する方法です。reset
それ自体でメモリをクリアします。
感謝します
多くのメモリを必要とするスクリプトを実行しています...すべての変数をクリアするために使用できるので、2回目の実行のためにメモリをクリアします...しかし、私の質問は、これをループreset
に入力する方法です。reset
それ自体でメモリをクリアします。
感謝します
大量のメモリを必要とするスクリプトがある場合は、別のプロセスで実行することをお勧めします (自動的にクリーンアップされます)。これは、次のいずれかの方法で実行できます。
bash
)Pythonインタープリターは、ガベージコレクションを利用して、未使用のオブジェクトのメモリを解放します。通常、このプロセスでは手動による修正は必要ありません。ただし、 gcモジュールを使用してスケジュールされるよりも早くガベージを収集できます。http://docs.python.org/library/gc.html
これにより、スクリプトのメモリが解放されます。
MemoryError例外が発生する場合は、すべてのデータをメモリに保持するのではなく、データベースまたはファイルに書き込むようにスクリプトを書き直すことを検討してください。これには、 MySQL、Redis、およびMongoなど、非常に多くの選択肢があります。
もちろん、メモリが非効率的または不必要に使用されているコード内の場所を見つけることができれば、このデータベース関連のすべてを完全に回避することも可能です。あなたのコードを投稿すれば、喜んで覗き見してくれるはずです!
例として、一度に 1 つの項目を処理する大量のデータを保持する大規模なリスト内包表記がある場合、代わりにジェネレーター式に切り替えることで、メモリをかなり節約できる可能性があります。