私はPythonのマルチプロセッシングモジュールを使用していますが、同じことに関していくつかの混乱があります。
基本的に、私は最初にメインプロセスにいくつかのデータを保存します。これは、topコマンドに示されているように約16GB(メインメモリサイズ)です。これらのデータをグローバル変数として保存しました。
次に、このデータに対してマルチプロセッシングが実行され、それに応じて異なる方法で処理されます。
マルチプロセッシングが行われていることがわかります。つまり、すべてのプロセスに独自のCPU使用率がありますが、すべてのプロセスのメモリはそれぞれ16GBです。なぜそうなのですか。グローバル変数を参照してパススルーするのと同じメモリを使用する必要がありませんか。考えてみてください。
topコマンドの出力は次のとおりです。:-
PIDユーザーPRNIVIRT RES SHR S%CPU%MEM TIME + COMMAND 13908 admin 20 0 16.7g 16g 848 R 100.0 17.3 0:32.92 python
13429 admin 20 0 16.7g 16g 3336 S 0.0 17.3 15:06.97 python
13910 admin 20 0 16.7g 16g 848 R 100.3 17.3 0:32.94 python
13911 admin 20 0 16.7g 16g 840 R 100.0 17.3 0:33.02 python
13912 admin 20 0 16.7g 16g 836 R 99.6 17.3 0:33.00 python
13907 admin 20 0 16.7g 16g 796 R 100.0 17.3 0:33.06 python
13909 admin 20 0 16.7g 16g 796 R 99.6 17.3 0:32.93 python