Python-Multiprocessing: mehr Prozesse als angefordert

Warum sehe ich so viele Python-Prozesse laufen (in htop auf RHEL 6 ) für das gleiche Skript, wenn ich nur 1 Kern verwenden?

Bildbeschreibung hier eingeben

Für jede Aufgabe beginne ich eine Worker-Klasse, die die Verarbeitung verwaltet. Es gibt andere Klassen, aber keine Unterprozesse:

  tasks = multiprocessing.JoinableQueue() results = multiprocessing.Queue() num_consumers = 1 consumers = [Consumer(tasks, results) for i in xrange(num_consumers)] for i, consumer in enumerate(consumers): logger.debug('Starting consumer %s (%i/%i)' % (consumer.name, i + 1, num_consumers)) consumer.start() 

Anmerkung, atop zeigt die erwartete Anzahl von Prozessen (in diesem Fall 2: 1 für das Elternteil und 1 für das Kind). Die% MEM fügt sich oft über 100% hinzu, so dass ich sammle, ich verstehe, wie Multiprocessing oder htop funktioniert.

One Solution collect form web for “Python-Multiprocessing: mehr Prozesse als angefordert”

Ich glaube, du siehst Helfer-Threads, die von dem Multiprocessing-Modul im Hauptpid aus deiner App gesponnen wurden. Diese sind zusätzlich zu den Threads / Processes, die Sie explizit gesponnen haben.

  • Wie kann ich den Python warten lassen, bis ich das Sprechen vervollständige?
  • Python Tk Fenster legt auf
  • Python Gruppe zwei Listen
  • Wenn Sie einen Wert in einer Liste ändern, werden die Werte in einer anderen Liste mit einer anderen Speicher-ID geändert
  • Schnelle Umwandlung von Zeitstempeln für die Dauerberechnung
  • ImportError bei der Installation von pip in virtualenv
  • Warum bekomme ich falsche Ergebnisse von scipy.optimize.fmin?
  • Intellij Python importiert nicht aus .pydevproject
  • Wie kann ich das Schöpferobjekt in Python verweisen?
  • Got 403 Fehler beim Herstellen einer Verbindung zu Google Analytics mit Python 2.7.x
  • Berechnung der numerischen Unterschiede pro Gruppe in Pandas
  • Python ist die beste Programmiersprache der Welt.