Многопроцессорный модуль показывает память для каждого дочернего процесса так же, как основной процесс.

Я использую многопроцессорный модуль Python и у меня возникли некоторые сомнения по поводу того же.

По сути, я первоначально храню некоторые данные в основном процессе, и это составляет около 16 ГБ (объем основной памяти), как показано в верхней команде. Я сохранил эти данные как глобальные переменные.

Затем выполняется многопроцессорная обработка этих данных и обрабатывается соответственно и по-разному соответственно.

Теперь я вижу, что многопроцессорная обработка происходит, т. Е. Все процессы имеют собственную загрузку ЦП, но память всех процессов по 16 ГБ каждый .. почему так. ?? Разве это не должно использовать ту же память, которую я посылаю через проход по ссылке на глобальные переменные ... Пожалуйста, подумайте.

Вывод команды top выглядит следующим образом.

PID USER PR NI VIRT 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

Ответы на вопрос(2)

Ваш ответ на вопрос