複数のマシンで実行されるpythonスクリプト(py2exeで作成されたexe)があります。この Python exe は定期的に 2 つのことを行います。1 つのスレッドがさらなる処理のために py ファイルを書き込み、別のスレッドがpyZmq
モジュールを使用して tcp ポートをリッスンします。約 12Mo の RAM を使用して、数日間完全に動作しました。
ここに問題があります。これらのマシンは3dsmax
レンダリングも実行します。3dsmax
システムで使用可能なすべての RAM を使用し、スクリプト用に 4Mo の RAM のみを残します。この状態では、レポート (py ファイルの書き込み) スレッドは正しく実行されますが、tcp ポートをリッスンするスレッドは機能しなくなります (マシンへのメッセージの送信は受信されません)。
ただし、この python exe プロセスは高レベルの優先度で実行されます。
set_nice(psutil.HIGH_PRIORITY_CLASS)
では、実行中の他のプロセスがこの RAM を使用できないように、プロセス用に 14Mo の RAM を予約するにはどうすればよいでしょうか? または、exeがRAMを他のプロセスに「与える」ことを回避する別の方法はありますか?
ありがとう、キブ