Ruby · Avançado · Inglês · Técnico
GC stat
GC.stat devolve um hash com contadores do coletor de lixo do CRuby, como número de coletas e objetos vivos. Serve para medir pressão de memória e diagnosticar vazamentos.
Onde usar
Aparece ao investigar uso de memória, comparando valores antes e depois de um trecho. Chaves como count, total_allocated_objects e heap_live_slots ajudam a ver alocações.
Em código
antes = GC.stat(:total_allocated_objects)
10_000.times { "texto" + "novo" }
depois = GC.stat(:total_allocated_objects)
p depois > antes # => true
p GC.stat[:count].class # => Integer
GC.startExemplos
Compare GC.stat before and after the request.
Compare o GC.stat antes e depois da requisição.
The allocation count jumped, so we allocate too much.
A contagem de alocações disparou, então alocamos demais.
Cuidado
Os nomes das chaves variam entre versões do Ruby; confira com GC.stat.keys. Não substitui um profiler de memória.