Trilha Sênior Trilha

Ruby: memória e GC

O coletor de lixo do Ruby é geracional, e este curso explica o que ele decide e por quê. Ele trata de coletas menores e maiores, da promoção depois de três sobrevivências, da barreira de escrita e do conjunto lembrado. Mostra como descobrir o que dispara uma coleta maior com o GC.latest_gc_info, incluindo o caminho oldmalloc, e como reduzir o GC.stat a três razões. Separa vazamento de inchaço, mede o GC.compact e o copy-on-write em workers com fork e compara mudanças de alocação e de ajuste com os padrões.

O que você vai aprender

  • ✓Como funcionam a coleta geracional, a promoção e a barreira de escrita
  • ✓Descobrir a causa de uma coleta maior com o GC.latest_gc_info
  • ✓Ler o GC.stat como razões de ocupação, fatia de coletas maiores e rotatividade
  • ✓Distinguir um vazamento de memória de um inchaço
  • ✓Quando o GC.compact ajuda e como o copy-on-write se desgasta em workers com fork
  • ✓Medir alocações e decidir se vale mexer nas configurações do GC
Prévia grátis · Aula 1 4 min de leitura

A pausa que você não agendou

O seu p50 é 40 ms. O seu p99 é 900 ms. As requisições lentas não são queries mais lentas, nem outro endpoint, nem um cliente problemático. Elas estão espalhadas por tudo, e quando você as alinha com o tempo de vida do processo, elas chegam num ritmo. Alguma coisa no processo para o mundo a cada…

Ler a aula completa grátis →

Currículo

7 aulas
Digite para buscar...