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.SetGCPercentdo pacoteruntime/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/pproferuntime/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)
}