状況は次のとおりです。メモリにロードする必要のある大規模なオブジェクトがあります。非常に大きいため、2回ロードすると、マシンで使用可能なメモリを超えてしまいます(いいえ、メモリをアップグレードできません)。また、それを細かく分割することもできません。簡単にするために、オブジェクトが600 MBで、RAMが1GBしかない場合を考えてみましょう。複数のプロセスで実行されているWebアプリからこのオブジェクトを使用する必要があり、それらの生成方法を制御しないため(サードパーティのロードバランサーが実行します)、オブジェクトの作成だけに頼ることはできません。いくつかのマスタースレッド/プロセスで、次に子を生成します。これにより、POSHのようなものを使用する可能性もなくなります。これは、POSHが独自のカスタムフォーク呼び出しに依存しているためです。また、SQLiteメモリデータベース、mmap、posix_ipcなどは使用できません。sysv_ipc、およびshmモジュールは、これらがメモリ内のファイルとして機能するためです。このデータは、私が使用するためのオブジェクトである必要があります。それらの1つを使用すると、ファイルとして読み取ってから、個々のプロセスとBAMでオブジェクトに変換する必要があります。セグメンテーション違反は、2番目のコピーをロードしようとしたため、マシンのメモリ制限を超えてしまいます。
Pythonオブジェクトをメモリに(ファイル/文字列/シリアル化/ピクルスとしてではなく)格納し、どのプロセスからでもアクセスできるようにするための何らかの方法が必要です。私はそれが何であるかを知らないだけです。StackOverflowとGoogle全体を見てきましたが、答えが見つからないので、誰かが私を助けてくれることを願っています。