Multiprocessing-Modul, das den Speicher für jeden untergeordneten Prozess wie für den Hauptprozess anzeigt.

Ich verwende das Multiprocessing-Modul von Python und habe einige Verwirrungen bezüglich desselben.

Grundsätzlich speichere ich einige Daten zunächst im Hauptprozess, und das sind ungefähr 16 GB (Hauptspeichergröße), wie im oberen Befehl gezeigt. Ich habe diese Daten als globale Variablen gespeichert.

Dann werden diese Daten mehrfach verarbeitet und entsprechend und unterschiedlich entsprechend verarbeitet.

Jetzt sehe ich, dass Multiprocessing stattfindet, d. H., Alle Prozesse haben ihre eigene CPU-Auslastung, aber der Speicher aller Prozesse in jeweils 16 GB. Warum? Sollte nicht derselbe Speicher verwendet werden, den ich durch Referenzieren globaler Variablen durchschicke? Bitte einige Gedanken.

Die Ausgabe des Befehls top lautet wie folgt:

PID BENUTZER PR NI VIRT RES SHR S% CPU% MEM ZEIT + BEFEHL 13908 admin 20 0 16,7 g 16 g 848 R 100,0 17,3 0: 32,92 Python
13429 admin 20 0 16,7 g 16 g 3336 S 0,0 17,3 15: 06,97 Python
13910 admin 20 0 16,7 g 16 g 848 R 100,3 17,3 0: 32,94 Python
13911 admin 20 0 16,7 g 16 g 840 R 100,0 17,3 0: 33,02 Python
13912 admin 20 0 16,7 g 16 g 836 R 99,6 17,3 0: 33,00 Python
13907 admin 20 0 16,7 g 16 g 796 R 100,0 17,3 0: 33,06 Python
13909 admin 20 0 16,7 g 16 g 796 R 99,6 17,3 0: 32,93 Python

Antworten auf die Frage(2)

Ihre Antwort auf die Frage