렌더링 프로파일러
오디오 프로파일러

메모리 프로파일러 모듈

The Memory module visualizes counters that represent the total allocated memory in your application. You can use the memory module to see information such as the number of loaded objects and the memory that they take in total per category. You can also see the number of GC allocations per Profiler frame.

Using the memory module when profiling in the Editor

When you profile your application in the Editor, all of the numbers the Memory module displays indicates the memory usage in the Editor, and not the application’s release platform. These numbers are generally larger than when running on the release platform, because running the Unity Editor uses specific objects that take up memory, and the Editor window uses extra memory. Additionally, the memory that the Profiler itself uses is displayed, since Unity cannot cleanly separate it from the memory that the Play mode Player uses.

For more precise numbers and memory usage for your application, connect the Profiler to the running player via the Attach to Player menu. This returns the actual usage on the target device.

차트 카테고리

The Memory module is divided into six charts that display detailed information on where memory is spent in your application. You can change the order of the categories in the chart by dragging and dropping them in the chart’s legend. You can also click a category’s colored legend to toggle its display.

카테고리 설명
Total Allocated 애플리케이션이 사용한 총 메모리입니다.
Texture Memory 애플리케이션의 텍스처가 사용한 메모리 양입니다.
Mesh Memory 애플리케이션의 메시가 사용한 메모리 양입니다.
Material Count 애플리케이션의 머티리얼 인스턴스 수입니다.
Object Count 애플리케이션의 네이티브 오브젝트 인스턴스 수입니다.
Total GC Allocated GC 힙이 사용한 메모리 양입니다.
GC Allocated GC 힙에서 프레임당 할당된 메모리 양입니다.

모듈 세부 정보 창

프로파일러 창 하단에 있는 모듈 세부 정보 창에서는 SimpleDetailed 뷰를 사용할 수 있습니다. 뷰를 변경하려면 모듈 세부 정보 창의 왼쪽 상단에 있는 드롭다운에서 사용할 뷰를 선택하십시오.

간단한 뷰

간단한 뷰는 Unity 전역에서 메모리가 사용되는 방법에 대한 개요를 프레임별로 실시간 표시합니다.

Unity reserves memory pools for allocations to avoid asking the operating system for memory too often. This is displayed as a reserved amount, and how much is used.

간단한 메모리 모듈 뷰
간단한 메모리 모듈 뷰

여기에는 다음이 포함됩니다.

  • Total: 아래의 모든 영역에서 누적된 값입니다.
  • Unity: 네이티브 메모리 관리자 시스템에서 추적되고 타입, 소스 및 플랫폼 별 할당 패턴에 따라 메모리 풀에 할당된 네이티브 Unity 코드의 메모리 할당량입니다.
  • Mono: 총 힙 크기와 관리 코드가 사용하는 힙 크기입니다. 이 메모리는 가비지로 수집됩니다.
  • GfxDriver: 드라이버가 텍스처, 렌더 타겟, 셰이더 및 메시 데이터에 사용하는 메모리의 추정량입니다.
  • Audio: 오디오 시스템의 추정 메모리 사용량입니다.
  • Video: 동영상 시스템의 추정 메모리 사용량입니다.
  • Profiler: 프로파일러가 사용하는 총 메모리입니다.

The numbers that are displayed are different to those displayed the Task Manager or Activity Monitor. This is because some usage is untracked by the Memory Profiler. This includes memory some drivers or plug-ins use, and memory used for executable code. On platforms that support getting the total memory size of the application from the OS, the Total System Memory Usage is over 0 and is the same size in a Task Manager or Activity Monitor.

Underneath the overview of where the memory is spent, are memory statistics for some of the most common Asset and object types. These statistics include the count (before the slash) and the used memory.

In this list, the Object Count displays the total number of native objects that your application creates. If this number rises over time, your application is creating objects that are never destroyed.

세부 정보 뷰

You can use the Detailed view to take a snapshot of your application’s current state. Click the Take Sample button to capture detailed memory usage for the current target. It takes the Profiler a lot of time to obtaining this data, so the Detailed view does not give you real-time details. After the Profiler takes a sample, the Profiler window displays a tree view where you can explore your application’s memory usage in more detail.

상세한 메모리 모듈 뷰
상세한 메모리 모듈 뷰

모듈 세부 정보 창의 상단에서 Gather object references 설정을 활성화하면 스냅샷 시점에 오브젝트를 참조하는 요소에 대한 정보를 수집할 수 있습니다. 이러한 정보는 창의 오른쪽 면에 표시됩니다.

메모리를 사용하는 오브젝트는 트리 뷰에서 다음 카테고리로 구분됩니다.

  • Other: 에셋, 게임 오브젝트 또는 컴포넌트가 아닌 오브젝트. Unity가 다양한 시스템에 사용하는 메모리 양 등과 같은 정보가 여기에 표시됩니다.
  • Not Saved: DontSave로 표시된 오브젝트
  • Builtin Resources: 그래픽스 설정의 Always Included Shaders 리스트에 추가한 셰이더 등과 같은 Unity 에디터 리소스 또는 Unity 기본 리소스
  • Assets: 사용자 또는 네이티브 코드에서 참조한 에셋
  • Scene Memory: 오브젝트 및 연결된 컴포넌트

Assets 또는 Scene Memory 리스트의 오브젝트를 클릭하면 프로젝트 또는 씬 뷰에서 강조 표시됩니다.

Note: In the Other category, memory reported under System.ExecutableAndDlls is read-only memory. The operating system might discard these pages as needed and later reload them from the file system. This generates lower memory usage, and usually does not directly contribute to the operating system’s decision to kill your application if it uses too much memory. Some of these pages might also be shared with other applications that are using the same frameworks.

메모리 프로파일러 패키지

메모리 모듈 외에도 메모리 프로파일러 패키지를 사용하여 애플리케이션의 메모리 사용량을 더욱 자세히 분석할 수 있습니다. 스냅샷을 저장한 후 비교하여 메모리 누수를 더욱 쉽게 찾거나, 메모리 레이아웃을 확인하여 메모리 단편화 문제를 찾을 수 있습니다. 메모리 프로파일러 패키지에 대한 자세한 내용은 메모리 프로파일러 문서를 참조하십시오.

렌더링 프로파일러
오디오 프로파일러