경험에 추가하는 모든 빌드 및 스크립트 구성 요소는 메모리를 소비합니다.메모리 사용량이 엔진 제한에 도달하면 사용자의 장치나 서버가 충돌할 수 있으므로 메모리 사용량을 적극적으로 모니터링하고 최적화 작업을 수행해야 합니다. 개발자 콘솔 은 다음을 포함하여 메모리 사용량 모니터링을 위한 두 가지 도구를 제공합니다.
메모리 — 사용 카테고리별로 실시간 메모리 사용량을 보고, 사용자 지정 구성 요소와 엔진 내부 프로세스의 메모리 사용을 모두 포함합니다.
Luau 힙 — 스크립트에 할당된 메모리를 참조하는 힙 메모리에 스냅샷을 생성합니다.이 도구는 개체 유형 및 엔진 클래스와 같은 다양한 관점에서 현재 메모리 할당 및 문제를 식별하는 데 도움이 되는 다양한 메모리 할당 뷰를 제공합니다.또한 시간에 따른 메모리 사용 차이를 비교하기 위해 여러 스냅샷을 만들 수도 있습니다.
다음 방법 중 하나를 사용하여 테스트 또는 라이브 경험 세션 중에 콘솔을 열 수 있습니다: You can open the console during a testing or live experience session using any of the following ways:
- Press F9를 누르십시오.
- 채팅에 /console 하십시오.
- 경험 내 메뉴 사용:
경험 내 Roblox 메뉴 를 엽니다.
설정 탭을 선택합니다.
아래로 스크롤하여 개발자 콘솔 로 이동하고 열기 를 클릭합니다.
메모리
메모리 도구는 실시간 메모리 사용을 분류하고 표시합니다.각 범주의 MB 메모리 사용량을 표시하고 시간에 따른 사용 변화에 대한 차트를 생성합니다.
메모리 할당 보기:
Open the 개발자 콘솔 .
도구 드롭다운을 확장하여 메모리 를 선택합니다.
클라이언트-서버 드롭다운을 확장하여 클라이언트 또는 서버 를 선택합니다.
메모리 사용 범주 및 항목 검색.오버타임 사용 패턴을 보고 싶은 카테고리나 항목의 경우 카테고리를 확장하여 차트를 표시합니다.
코어 메모리 — 엔진의 핵심 빌드 프로세스에서 네트워킹, 아바타 및 GUI(그래픽 사용자 인터페이스) 요소를 포함하여 직접 제어할 수 없는 메모리 사용.
플레이스 메모리 — 모델, 지형, 부품, 스크립트 및 경험에 추가하는 모든 사용자 지정 요소를 포함하여 경험을 구축하는 방법에 따라 메모리 사용량을 결정합니다.
플레이스메모리 참조카테고리 설명 HTTP 캐시 Roblox 서버에서 로드된 자산(이미지, 메쉬 등)이 메모리에서 캐시로 보관되었습니다. 인스턴스 Instances 플레이스입니다. 신호 인스턴스 간에 발생하는 신호(한 인스턴스에서 발생하는 이벤트가 다른 인스턴스에서 이벤트를 트리거하도록 함). 루아힙 코어 스크립트(Roblox 클라이언트와 함께 제공되는 스크립트)와 사용자 지정 스크립트 모두의 힙 메모리. 스크립트 Luau 스크립트. 물리 충돌 물리 시뮬레이션의 충돌 데이터. 물리 부품 물리 기하학 및 운동학. 그래픽SolidModels 단단한 모델을 렌더링하기 위한 그래픽 데이터. 그래픽 메시 파트 MeshPart 개체의 그래픽. 그래픽 파티클 입자 시스템의 그래픽. 그래픽 부품 부품의 그래픽. 그래픽 공간 해시 GraphicsSpatialHash 일반 렌더링. 그래픽 지형 지형에 대한 그래픽. 그래픽 텍스처 텍스처 메모리. 그래픽 텍스처 캐릭터 캐릭터의 텍스처 메모리. 사운드 메모리 내 사운드. 스트리밍 사운드 스트리밍 사운드. 지형 복셀 지형 복셀. 지형물리학 지형 물리학. GUI 일반적인 GUI 요소에 사용되는 메모리. 애니메이션 포즈 및 아바타 애니메이션용 캐시된 데이터와 같은 애니메이션 데이터에 사용되는 메모리. 네비게이션 지원 구조가 PathfindingService 사용하는 메모리. 추적되지 않은 메모리 — 시스템이 특정 소스에 쉽게 할당할 수 없는 메모리 할당
PlaceScriptMemory — 개별 스크립트와 사용자 지정 메모리 태그가 전체 메모리 사용에 어떻게 기여하는지에 대한 통찰력을 갖춘 스크립트 메모리 사용량.
CoreScriptMemory — 직접 제어할 수 없는 내부 엔진 스크립트에 의한 메모리 사용.
이러한 범주 중에서 PlaceMemory 와 PlaceScriptMemory 는 성능 최적화에 가장 중요한 항목으로, 빌드 및 스크립트 선택이 메모리 소비와 최적화 가능한 영역에 어떻게 영향을 미치는지 이해하는 데 도움이 되기 때문입니다.For more insights into 장소 스크립트 메모리 , you can use the Luau 힙 tool to create snapshots and analyze memory allocation by different metrics.
루오 힙
Luau 힙 도구( Luau 힙 )는 변수, 테이블, 함수 및 기타 런타임 데이터 구조를 저장하기 위한 Luau 스크립트에 대한 메모리 할당에 대한 스냅샷을 만들 수 있도록 합니다.이 도구는 개체 유형 및 엔진 클래스와 같은 다양한 관점에서 메모리 할당 및 문제를 식별하는 데 도움이 되는 다양한 메모리 할당 뷰를 제공합니다.또한 시간에 따른 메모리 사용 차이를 비교하기 위해 여러 스냅샷을 만들 수도 있습니다.
스냅샷 만들기
메모리 할당의 스냅샷을 만들려면:
Open the 개발자 콘솔 .
도구 드롭다운을 확장하여 LuauHeap 을 선택합니다.
클라이언트-서버 드롭다운을 확장하여 클라이언트 또는 서버 를 선택합니다.
클릭하십시오 스냅샷 생성 버튼.
메모리 사용 분석
도구는 다양한 뷰에 따라 Luau 메모리 할당을 보여줄 수 있는 5개의 뷰를 제공합니다.
- 그래프 — 할당된 메모리를 나타내는 각 노드로 구성된 집계된 메모리 사용 트리를 표시합니다.
- 개체 태그 — 런타임 유형(예: function, table, 및 thread)에 따라 메모리 크기와 수를 표시합니다.
- 메모리 범주 — 엔진에서 할당한 메모리 범주에 따라 메모리 크기와 수를 표시합니다.엔진은 할당 시간에 메모리 카테고리를 개체에 할당합니다.
- 개체 클래스 — 스크립트에서 사용하고 저장하는 엔진 클래스의 메모리 크기와 수를 표시합니다(예: EnumItem, Animation, CFrame).
- 고유 참조 — 데이터 모델에 부모가 없고 스크립트에서만 액세스할 수 있는 인스턴스 개수와 인스턴스 개체를 고정하는 모든 경로를 표시합니다.
그래프
그래프 뷰( 그래프 )는 Luau 힙 뷰 중 가장 상세하고 복잡한 뷰입니다.각 노드가 할당된 메모리를 나타내는 개체를 나타내는 집계된 메모리 사용 트리를 표시합니다.트리는 개체가 서로 연결되고 개체 참조 간의 가장 짧은 경로를 파생하는 방법을 보여줍니다.다음 메모리 크기 열이 있습니다: 크기 — 자체 메모리 사용량 플러스 데이터 구조 내부의 콘텐츠 사용 메모리.자체 — 데이터 구조 자체에 할당된 메모리로, 포함된 콘텐츠의 메모리 사용을 제외합니다.

트리 그래프의 루트는 registry 로, 신호에 연결된 함수나 태스크 라이브러리와 같은 모든 엔진 및 Luau 참조, 모듈 스크립트에서 반환된 테이블 및 클래스, 전역 함수를 저장합니다.일반적으로 다음 공통 항목을 부모로 지정합니다:
- Module @Path.To.Module는 모듈 스크립트에서 반환된 테이블입니다.
- name:123 =Path.To.Module는 지정된 스크립트 내의 함수입니다.무명 함수에는 이름이 없습니다.최상위 노드는 종종 전역 스크립트 함수를 참조합니다.무명 함수에는 이름이 없습니다.예: :1= Workspace.[Username].Animate .
- upvalue는 캡처된 함수에 대한 참조입니다. 자세한 내용은 로컬 범위 캡처를 참조하십시오.
- env는 함수의 환경을 참조합니다. 대부분의 경우 스크립트의 전역 범위를 나타내는 테이블입니다.
- globals는 스레드의 환경을 참조합니다.
- [key]는 테이블 키로 사용되는 개체를 나타냅니다.
- array는 배열을 나타냅니다.
- stack는 모든 함수 로컬을 저장하는 배열을 참조합니다.
- constants는 함수에서 사용하는 모든 상수 값을 나타냅니다.
메모리 카테고리
메모리 카테고리 보기 는 엔진이 할당 시간에 개체에 할당하는 메모리 카테고리에 의한 메모리 크기와 수를 표시합니다.기본적으로 메모리 카테고리는 스크립트와 동일한 이름을 가지거나, debug.setmemorycategory 함수를 사용하여 사용자 지정 메모리 카테고리 이름을 할당할 수 있습니다.
고유 참조
고유 참조 뷰는 데이터 모델에 부모가 없고 스크립트에서만 액세스할 수 있는 인스턴스의 메모리 사용량과 인스턴스 개체를 고정하는 모든 경로를 표시합니다.이 보기에는 두 가지 메트릭이 있습니다:
- 수량 — 동일한 이름을 가진 인스턴스의 수가 동일한 경로에서 액세스할 수 있는지 여부를 보여줍니다(예: 동일한 테이블에서 여러 인스턴스가 Dragon로 명명됨).
- 총 인스턴스 — 모든 부품, 스크립트 및 사운드 개체와 같이 인스턴스를 구성하는 루트 내의 전체 개체 수를 표시합니다.

이 뷰는 더 이상 필요하지 않을 때 연결된 불필요한 인스턴스를 식별하는 데 유용합니다.이 뷰에서 많은 예기치 않은 인스턴스를 보면 그들을 보유하고 있는 경로를 확인하고 필요한지 평가하십시오.