Naar hoofdinhoud gaan
De Ruby VM (Virtual Machine) gebruikt Garbage Collection (GC) om te voorkomen dat het procesgeheugen opraakt. Garbage Collection helpt voorkomen dat uw applicatie te kampen krijgt met geheugenproblemen door geheugentekort. Dit proces van het opruimen van ongebruikt geheugen in Ruby-apps kan op elk moment plaatsvinden. Om hier meer inzicht in te krijgen, kunt u Ruby’s Garbage Collection profiler gebruiken.

Profiler

We raden af om de Garbage Collection profiler in productieomgevingen in te schakelen, in ieder geval niet voor langere perioden. De extra overhead van de profiler kan de prestaties van uw applicatie negatief beïnvloeden.
Wanneer de Ruby Garbage Collection profiler is ingeschakeld, verzamelt AppSignal automatisch metrieken voor het Ruby VM magic dashboard. De grafiek “GC time” laat zien hoe lang de Ruby VM erover deed om het ongebruikte geheugen tussen metingen op te ruimen. Deze grafiek zal pieken vertonen als deze plotseling veel meer geheugen moet verwerken, bijvoorbeeld na een geheugenintensieve taak of request. De GC-profiler is standaard uitgeschakeld, dus er worden geen metrieken in deze grafiek gerapporteerd. Om de GC-profiler in te schakelen, voegt u de onderstaande code toe aan uw applicatie. De profiler kan op elk moment in de applicatie worden ingeschakeld, bijvoorbeeld bij opstarten of ter voorbereiding op geheugenintensieve operaties. Zodra de GC-profiler is ingeschakeld, begint de “GC time”-grafiek na minstens twee minuten metrieken weer te geven. Deze metriek wordt gerapporteerd door ons minutely probes-systeem en er worden elke minuut nieuwe metingen gedaan.
GC::Profiler.enable
Om de GC-profiler tijdelijk in te schakelen, zorgt u ervoor dat u de profiler daarna weer uitschakelt.
GC::Profiler.enable

# Do memory intensive operation

GC::Profiler.disable
Om ervoor te zorgen dat de Ruby-gem een duur boven nul rapporteert voor de garbage collection-tijd, moet de profiler langer dan twee minuten ingeschakeld zijn. Dit is de initiële tijd die de Ruby-gem nodig heeft om de garbage collection-tijd te meten. We raden aan om GC-profiling langer dan het minimum van twee minuten ingeschakeld te laten om volledige metingen te garanderen die nodig zijn om te vergelijken en grafiek weer te geven.