HotSpott
14-04-2004, 23:40
Hi!
Ich bin ein bischen am c++ lernen und habe spasseshalber mal probiert, ein Programm
zu schreiben, dass in eine while schleife andauernd nur fork()-t. Das laeuft sehr lange, bis
irgendwann mal auf keine Eingabe mehr reagiert wird, sich mein X verabschiedet und ich
dann irgendwann mal wieder am Login stehe. Dann hat er sich gefangen.
Habe mir dann ein mini c++ Prog geschrieben, dass nur ein Objekt anlegt, in dessen
Konstruktor wieder ein Objekt vom gleichen Typ mit new Objekt() angelegt wird. Bei
diesem Prog bekomme ich innerhalb kuerzester Zeit einen Seg Fault. X bleibt davon
unbeeindruckt. Und auch sonst macht das System nicht den Eindruck, als wuerde es
grossartig belastet.
Kann mir das jemand erklaeren? Es muellt doch sowohl, das ausufernde Prozessklonen,
als auch die ausufernde Objekterzeugung den Speicher zu. Wieso sind die Ergebnisse so
unterschiedlich?
Und wie muss man einen Rechner konfigurieren, dass jemand, der z.b. so ein kleines Prog,
dass sich andauernd nur selbst fork()ed nicht die ganze Kiste zum erlahmen bringt?
Gruss
Hotspott
Ich bin ein bischen am c++ lernen und habe spasseshalber mal probiert, ein Programm
zu schreiben, dass in eine while schleife andauernd nur fork()-t. Das laeuft sehr lange, bis
irgendwann mal auf keine Eingabe mehr reagiert wird, sich mein X verabschiedet und ich
dann irgendwann mal wieder am Login stehe. Dann hat er sich gefangen.
Habe mir dann ein mini c++ Prog geschrieben, dass nur ein Objekt anlegt, in dessen
Konstruktor wieder ein Objekt vom gleichen Typ mit new Objekt() angelegt wird. Bei
diesem Prog bekomme ich innerhalb kuerzester Zeit einen Seg Fault. X bleibt davon
unbeeindruckt. Und auch sonst macht das System nicht den Eindruck, als wuerde es
grossartig belastet.
Kann mir das jemand erklaeren? Es muellt doch sowohl, das ausufernde Prozessklonen,
als auch die ausufernde Objekterzeugung den Speicher zu. Wieso sind die Ergebnisse so
unterschiedlich?
Und wie muss man einen Rechner konfigurieren, dass jemand, der z.b. so ein kleines Prog,
dass sich andauernd nur selbst fork()ed nicht die ganze Kiste zum erlahmen bringt?
Gruss
Hotspott