애플리케이션의 메모리 사용을 검사하기 위해 메모리 프로파일러에서 사용할 수 있는 모드에는 두 종류가 있습니다. 모드는 하단 패널의 왼쪽 상단에 있는 드롭다운에서 선택합니다.
Simple 뷰에는 Unity 전역에서 메모리가 사용되는 방법에 대한 간단한 개요가 프레임별로 실시간 표시됩니다.
Unity는 운영체제에 메모리를 너무 자주 요청하는 것을 방지하기 위해 메모리 풀을 예약합니다. 메모리 풀은 예약된 용량과 사용된 용량으로 표시됩니다.
여기에는 다음이 포함됩니다.
일부 드라이버에서 사용하는 메모리와 실행 가능 코드에 사용되는 메모리 등 메모리 프로파일러에서 추적하지 않은 사용량이 있기 때문에 표시되는 숫자는 작업 관리자 또는 활동 모니터에 표시되는 숫자와 다릅니다.
메모리 통계에서는 가장 일반적인 몇 가지 에셋/오브젝트 타입에 대해 표시합니다. 표시되는 통계는 카운트와 사용된 메모리(메인 및 비디오 메모리) 등입니다.
Object Count 는 생성된 모든 오브젝트의 총 개수입니다. 이 숫자가 시간이 갈수록 커지면 게임에서 영구적으로 파괴되지 않는 오브젝트를 몇 개 만들고 있기 때문입니다.
Detailed 뷰에서는 현재 상태의 스냅샷을 만들 수 있습니다. Take Sample 버튼을 사용해 자세한 메모리 사용 정보를 캡처할 수 있습니다. 이 데이터를 가져오려면 어느 정도의 시간이 소요되므로 이 뷰에서 세부 정보를 실시간으로 확인할 수 있을 것이라고 기대하면 안 됩니다. 샘플을 수집한 후에는 프로파일러 창이 업데이트되어 메모리 사용 정보를 탐색할 수 있는 트리 뷰가 표시됩니다.
개별 에셋 및 게임 오브젝트 메모리 사용 정보뿐 아니라, 게임 오브젝트가 메모리에 있는 이유도 표시합니다. 이에 대한 일반적인 이유는 다음과 같습니다.
리스트에서 게임 오브젝트를 클릭하여 프로젝트 또는 씬 뷰에 표시합니다.
에디터에서 프로파일링할 때 메모리 프로파일러에 표시되는 숫자는 모두 에디터의 메모리 사용량을 나타냅니다. 이 숫자는 Unity 에디터를 실행하는 데 메모리가 더 많이 사용되기 때문에 플레이어에서 실행할 때보다 일반적으로 더 큽니다. 앱에 대한 더 정확한 숫자와 메모리 사용량을 얻으려면 프로파일러 연결을 사용해 실행 중인 플레이어에 연결합니다. 그러면 타겟 디바이스의 실제 사용량이 표시됩니다.
System.ExecutableAndDlls
에 보고되는 메모리는 읽기 전용이므로 운영체제에서 필요한 경우 해당 페이지를 폐기하고 나중에 파일 시스템에서 다시 로드할 수 있습니다. 그러면 메모리 사용량이 줄어들고 운영체제에서 애플리케이션을 종료하기로 결정하는 직접적인 원인이 되지 않습니다. 일부 페이지는 동일 프레임워크를 사용하는 다른 애플리케이션과 공유될 수도 있습니다.