Cada componente de construção e script que você adiciona ao seu jogo consome memória. Quando o uso de memória atinge os limites do mecanismo, o dispositivo ou servidor do usuário pode travar, portanto, você precisa monitorar ativamente o uso.
O Console do Desenvolvedor fornece duas ferramentas para monitorar o uso de memória:
Memória — Veja o consumo de memória em tempo real por categorias de uso, incluindo seus componentes personalizados e os processos internos do mecanismo.
Heap Luau — Crie instantâneas da memória heap, que se refere à alocação de memória dos seus scripts. Esta ferramenta fornece várias visualizações para ajudá-lo a identificar a alocação de memória atual e problemas de diferentes perspectivas, como tipos de objetos e classes do mecanismo. Ela também permite que você crie várias instantâneas para comparar as diferenças no uso de memória ao longo do tempo.
Você pode abrir o console durante uma sessão de jogo de teste ou ao vivo usando qualquer uma das seguintes formas:
- Pressione F9.
- Digite /console no chat.
- Use o menu do jogo:
Abra o Menu Roblox no jogo.

Selecione a aba Configurações.
Role para baixo até Console do Desenvolvedor e clique em Abrir.
Memória
A ferramenta Memória categoriza e exibe o uso de memória em tempo real. Ela exibe o uso de memória em MB de cada categoria e gera um gráfico sobre a mudança de uso ao longo do tempo.
Para visualizar a alocação de memória:
Abra o Console do Desenvolvedor.
Expanda o menu suspenso de ferramentas para selecionar Memória.

Expanda o menu suspenso cliente-servidor para selecionar Cliente ou Servidor.
Navegue pelas categorias e itens de uso de memória. Se você quiser ver o uso ao longo do tempo, expanda a categoria para exibir um gráfico.
CoreMemory — Uso de memória pelos processos de construção principais do mecanismo, incluindo rede, avatares e elementos de GUI que você não controla diretamente.
PlaceMemory — Uso de memória com base em como você constrói seu jogo, incluindo modelos, terreno, partes, scripts e todos os outros elementos personalizados que você adiciona ao seu jogo.
Referência de PlaceMemoryCategoria Descrição HttpCache Ativos (imagens, malhas, etc.) carregados dos servidores Roblox e agora mantidos em um cache na memória. Instances Instances no local. Signals Sinais que disparam entre instâncias (um evento disparando em uma instância para acionar um evento em outra instância). LuaHeap Memória heap para scripts principais (scripts que acompanham o cliente Roblox) e scripts personalizados. Script Scripts Luau. PhysicsCollision Dados de colisão para simulações físicas. PhysicsParts Geometria e cinética físicas. GraphicsSolidModels Dados gráficos para renderizar modelos sólidos. GraphicsMeshParts Gráficos para objetos MeshPart. GraphicsParticles Gráficos para sistemas de partículas. GraphicsParts Gráficos para partes. GraphicsSpatialHash Renderização geral. GraphicsTerrain Gráficos para terreno. GraphicsTexture Memória de textura. GraphicsTextureCharacter Memória de textura para personagens. Sounds Sonhos em memória. StreamingSounds Sonhos em streaming. TerrainVoxels Voxels de terreno. TerrainPhysics Física de terreno. Gui Memória usada por elementos comuns de GUI. Animation Memória usada para dados de animação, como poses e dados em cache de KeyframeSequence para animações de avatar. Navigation Memória usada por estruturas de suporte para PathfindingService. UntrackedMemory — Alocações de memória que o sistema não consegue facilmente atribuir a uma fonte específica.
PlaceScriptMemory — Uso de memória dos seus scripts com insights sobre como scripts individuais e tags de memória personalizadas contribuem para o uso geral de memória.
CoreScriptMemory — Uso de memória por scripts internos do mecanismo que você não controla diretamente.
Entre essas categorias, PlaceMemory e PlaceScriptMemory são as mais importantes para otimização de desempenho, pois ajudam você a entender como suas escolhas de construção e script afetam o consumo de memória e potenciais áreas para otimização. Para mais insights sobre PlaceScriptMemory, use a ferramenta Heap Luau para criar instantâneas e analisar a alocação de memória por diferentes métricas.
Heap Luau
A ferramenta Heap Luau permite que você crie instantâneas da alocação atual de memória heap, que se refere à memória que os scripts Luau usam para armazenar variáveis, tabelas, funções e outras estruturas de dados em tempo de execução. Esta ferramenta fornece várias visualizações para ajudá-lo a identificar problemas de diferentes perspectivas, como tipos de objetos e classes do mecanismo. Ela também permite que você crie várias instantâneas para comparar as diferenças no uso de memória ao longo do tempo.
Criar instantâneas
Para criar uma instantânea da sua alocação de memória:
Abra o Console do Desenvolvedor.
Expanda o menu suspenso de ferramentas para selecionar LuauHeap.

Expanda o menu suspenso cliente-servidor para selecionar Cliente ou Servidor.
Clique no botão Criar Instantânea.
Analisar uso de memória
A ferramenta fornece muitas visualizações sobre o uso de memória Luau:
- Gráfico — Mostra uma árvore de uso de memória agregada, com cada nó representando um objeto com memória alocada.
- Tags de Objetos — Mostra tamanhos de memória e contagens por tipos de tempo de execução, como function, table e thread.
- Categorias de Memória — Mostra tamanhos de memória e contagens por categorias de memória atribuídas pelo mecanismo. O mecanismo atribui uma categoria de memória a um objeto no momento da alocação.
- Classes de Objetos — Mostra tamanhos de memória e contagens por classes do mecanismo que seus scripts usam e armazenam suas instâncias, como EnumItem, Animation, CFrame. Criticamente, esta visualização não mostra o uso de memória dentro do mecanismo em si, apenas a VM Luau.
- Referências Únicas e Instâncias Sem Pai — Mostra contagens e números totais de instâncias para referências únicas ou todas as referências restantes que não têm um pai no modelo de dados e são acessíveis apenas por scripts. Também mostra todos os caminhos que fixam o objeto de instância.
Gráfico
A visualização Gráfico é a mais detalhada e complexa entre todas as visualizações do heap Luau. Ela mostra uma árvore de uso de memória agregada com cada nó representando um objeto com memória alocada. A árvore mostra como os objetos se conectam entre si e deriva o caminho mais curto entre referências de objetos. Ela possui as seguintes colunas de tamanho de memória:
- Tamanho — O uso de memória próprio mais o uso de memória pelos conteúdos dentro da estrutura de dados.
- Próprio — A memória diretamente alocada para a estrutura de dados em si, excluindo o uso de memória por qualquer conteúdo que ela contenha.

A raiz da árvore do gráfico é registry, que armazena todas as referências do mecanismo e Luau, como funções conectadas a sinais ou à biblioteca de tarefas, tabelas retornadas por scripts de módulo e funções globais, tabelas e classes. Normalmente, ela contém as seguintes entradas comuns:
- Module @Path.To.Module é a tabela retornada por um script de módulo.
- name:123 =Path.To.Module é uma função dentro de um script especificado. Funções anônimas não têm nomes. O nó de nível superior geralmente se refere à função de script global. Exemplo: :1= Workspace.[Username].Animate.
- upvalue é uma referência para funções capturadas. Veja Capturar escopo local para mais informações.
- env refere-se ao ambiente de uma função. Na maioria dos casos, é uma tabela representando o escopo global de um script.
- globals refere-se ao ambiente de uma thread.
- [key] representa objetos que servem como chaves de tabela.
- array representa um array.
- stack refere-se ao array que armazena todas as variáveis locais da função.
- constants representa todos os valores constantes que as funções usam.
Categorias de memória
A visualização Categorias de Memória mostra tamanhos de memória e contagens por categorias de memória, que o mecanismo atribui a objetos no momento da alocação. Por padrão, a categoria de memória tem o mesmo nome que o script, ou você pode atribuir nomes de categorias de memória personalizados usando a função debug.setmemorycategory.
Referências únicas e instâncias sem pai
As visualizações Referências Únicas e Instâncias Sem Pai estão relacionadas. Ambas mostram o uso de memória de instâncias que não têm um pai no modelo de dados e são acessíveis apenas por scripts, juntamente com todos os caminhos que fixam o objeto de instância. Se uma instância for referenciada apenas dentro de scripts Luau, ela aparece sob Referências Únicas. Caso contrário, ela também está em uso pelos sistemas Roblox e aparece sob Instâncias Sem Pai. Ambas as visualizações mostram duas métricas:
- Contagem — O número de instâncias com o mesmo nome que são acessíveis a partir do mesmo caminho, como várias instâncias chamadas Dragon na mesma tabela.
- Total de Instâncias — O número total de objetos dentro dessas raízes, como todas as partes, scripts e objetos de som que constroem uma instância Dragon.

Essas visualizações são úteis para identificar instâncias conectadas desnecessárias, que você precisa desconectar quando não precisar mais delas. Se você ver muitas instâncias inesperadas nesta visualização, verifique os caminhos que as mantêm e avalie se são necessárias.