我正在使用 python 的多处理模块并且对此有一些困惑。
基本上,我最初将一些数据存储在主进程中,如顶部命令所示,大约为 16GB(主内存大小)。我已将这些数据存储为全局变量。
然后对这些数据进行多重处理,并相应地进行不同的处理。
现在我看到多处理正在发生,即所有进程都有自己的 CPU 利用率,但是所有进程的内存每个 16 GB.. 为什么会这样.?? 难道它不应该使用我通过全局变量的引用传递的相同内存..请一些想法。
top 命令的输出如下:-
PID 用户 PR NI VIRT RES SHR S %CPU %MEM TIME+ 命令 13908 管理员 20 0 16.7g 16g 848 R 100.0 17.3 0:32.92 python
13429 管理员 20 0 16.7g 16g 3336 S 0.0 17.3 15:06.97 python
16.7g 管理员16G 848 R 100.3 17.3 0:32.94 Python
13911 Admin 20 0 16.7G 16G 16G 840 R 100.0 17.3 0:33.02 Python
13912 Admin 20 0 16.7G 16.7G 16G 16G 16G 836 R 99.6 R 99.6 R 99.6 17.6 17.6 17.6 17.6 17.6 17.6 17.3 0:33.00 Python
13907 Adman 20 0 16.7G 16.7 G 16.7 G 796 6.66 6.66 r re 0:33.06 蟒蛇
13909 管理员 20 0 16.7g 16g 796 R 99.6 17.3 0:32.93 蟒蛇