Sobes.tech
Junior — Middle

De que formas é que o processo de limpeza automática de memória no sistema é controlado e ajustado?

sobes.tech IA

Resposta da IA

Em Go, o controlo e a configuração do processo de recolha automática de lixo (garbage collection, GC) é realizado de várias maneiras:

  • Pacote runtime: através de funções do pacote runtime, pode-se obter informações sobre o funcionamento do GC e chamar manualmente a recolha, por exemplo, runtime.GC().
  • Configuração dos parâmetros do GC: com a função debug.SetGCPercent do pacote runtime/debug, pode-se definir o limiar para ativar o coletor de lixo (percentagem de uso de memória).
  • Perfilagem e rastreamento: com os pacotes runtime/pprof e runtime/trace, pode-se analisar o comportamento do GC e otimizar o programa.

Exemplo de configuração do limiar para ativar o GC:

import (
    "runtime/debug"
)

func main() {
    // Definir o limiar para ativar o GC em 100% (padrão)
    debug.SetGCPercent(100)
}