GNU/Linux >> Linux の 問題 >  >> Linux

RAM を消費する Python プログラム

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 あるので ログ ファイルがいっぱいになったら、ファイル システムの状態を確認する必要があります。ファイルシステムがいっぱいになると、システムがハングする可能性があります。ワイヤレス インターフェイスを使用していない場合は、無効にしてください。


Linux
  1. LinuxコマンドラインでRAMサイズをGbで確認する方法

  2. プログラムのRAM使用量を測定しますか?

  3. パイプラインはメモリ使用量をどのように制限しますか?

  1. Windowsの低メモリ診断

  2. Linuxでpythonプログラムを実行可能にするために何を使用しますか

  3. Linux でのプログラム メモリ レイアウト

  1. Python で合計物理メモリを取得する

  2. 実行時に C でプログラムのメモリ レイアウトを表示するにはどうすればよいですか?

  3. 実行中のプログラムで出力バッファのフラッシュを強制する