Thread win32 ActivePerl fork und Speicher: beendete kindprozesse liegen im speicher (7 answers)
Opened by ash77 at 2006-03-31 12:43

ash77
 2006-03-31 12:43
#64229 #64229
User since
2006-03-30
2 Artikel
BenutzerIn
[default_avatar]
Hallo,

in einem Skript forke ich einen (kurzen und kleinen) Prozess ungefähr zehn mal, und das ganze bis zu 100 mal in dem Skript (hintereinander, nicht gleichzeitig). Auf Linux-Systemen funktioniert das auch toll, schnell und speicherschonend. Wenn ich dasselbe Skript mit ActivePerl auf Windows (XP,SP2) ausführe, dauert es nicht lange, bis der ganze Speicher von ActivePerl belagert ist und das System nahezu zum Erliegen kommt. Dabei kann man zugucken, wie jedes weitere fork ein paar MB mehr in den Speicher haut. Ich denke also, dass (im Gegensatz zu Linux, wo beendete Kindprozesse offensichtlich aus dem Speicher gelöscht werden) die beendeten Kindprozesse erst aus dem Speicher gelöscht werden, wenn der Vaterprozess beendet ist. Ist dem so ? Kann man das umgehen ?

Danke schonmal für die Antworten.

View full thread win32 ActivePerl fork und Speicher: beendete kindprozesse liegen im speicher