RAM のほとんどは、バッファーとキャッシュに使用されるため、アプリケーションに使用できます。 「-/+ buffers/cache:」行を見て、実際の RAM の量を確認します。 中古/無料。説明はここにあります。
Python でメモリ リークが発生しているかどうかを確認するには、Python の RSS サイズ (または %mem) を経時的に監視します。例えば。 ps
の出力を追加するために、数時間ごとに cron ジョブから呼び出されるシェル スクリプトを作成します。 コマンド チェーンと free
の出力 コマンドをファイルに。
Python プロセスが メモリ リークには、できることがいくつかあります。
- スクリプトを変更して、24 時間後に存在するようにします。再起動するための cron ジョブ (簡単な方法)
- Python 自体、特に使用している拡張モジュールを詳しく調べてください。
gc
を使用 メモリ使用量を監視して影響を与えるモジュール。たとえば、次のことができます。gc.count()
を呼び出す コレクション用にマークされたオブジェクトの量を定期的に監視します。gc.collect()
を呼び出すことができます 明示的に実行し、それがメモリ使用量を削減するかどうかを確認してください。コレクションのしきい値を変更することもできます。
Python の RAM 使用量が時間とともに増加しない場合は、デーモンの別のプログラムである可能性があります。上記のメモリ ログ スクリプトは、それがどれであるかを示しているはずです。
コンピューターがフリーズする別の理由も考えられます。 Linux ログファイルで手がかりを確認してください。
編集: wpa_supplicant
あるので ログ ファイルがいっぱいになったら、ファイル システムの状態を確認する必要があります。ファイルシステムがいっぱいになると、システムがハングする可能性があります。ワイヤレス インターフェイスを使用していない場合は、無効にしてください。