[ruby-de] GC.start tut nichts?

Norbert Melzer timmelzer at gmail.com
Di Jun 27 02:25:52 JST 2017


Nur weil der GC nicht mehr benötigte Objekte aufgeräumt hat heißt das
nicht, dass der ruby Prozess den Speicher an das Betriebssystem zurück
gibt. Im Gegenteil, der Speicher wird gerne vom Prozess behalten um dann
aufwändige neu Anforderungen zu vermeiden.

Die Optimisten <inform at die-optimisten.net> schrieb am Mo., 26. Juni 2017,
15:57:

> Hallo,
>
> arr=[]
> (1..1000000).map {| arr << ["meinString", "2", "3" }
> arr=nil
> GC.start
> sleep 1
>
> arr=nil scheint auch belanglos: wenn man obiges 2x untereinander
> ausführt, braucht er (fast) doppelt so viel RAM.
>
> Beginnt der GC trotz GC.start nicht sofort?
> => ist ein sleep(1) hilfreich ?
>
> Wie erhalte ich das gewünschte Ergebnis vom GC?
>
> danke
> Andreas
>
>


Mehr Informationen über die Mailingliste ruby-de