# CPU Usage Profiler 모듈 탐색

> Navigate the CPU Usage Profiler module to investigate performance data.

CPU Usage Profiler 모듈에는 뷰 간에 더 쉽게 탐색할 수 있는 범용 작업이 있습니다.

## 선택한 샘플에 포커스 맞추기

선택한 샘플에 포커스를 맞추려면 **F** 키를 누릅니다. 아무것도 선택하지 않으면 기본 줌 레벨이 표시됩니다.

**Hierarchy**, **Raw Hierarchy** 또는 **Inverted Hierarchy** 뷰로 전환하면 샘플이 메인 스레드에 있는 한 선택 항목이 계속 이어집니다. 선택 항목을 즉시 찾을 수 없는 경우 **F** 키를 눌러 포커스를 맞춥니다.

## Timeline 뷰에서 항목 탐색 및 선택

[Timeline 뷰](/engine/6000.0/manual/analysis/profiler/collect-data/visualizing-data/cpu/cpu.md)의 축 영역을 확대하려면 다음을 따르십시오.

* 마우스 스크롤 휠을 사용합니다.
* 마우스 오른쪽 버튼을 누른 상태로 드래그하는 동안 Alt 키를 길게 누릅니다.
* 수평 스크롤 바의 끝을 사용하여 확대합니다.
* 뷰를 이동하려면 마우스 가운데 버튼을 누르거나 Alt 키(macOS의 Command 키)를 누른 상태에서 마우스 왼쪽 버튼을 누릅니다.

키보드의 **A** 키를 눌러 전체 프레임 시간을 볼 수 있도록 줌을 재설정합니다.

다음 옵션을 사용하여 스레드 표시를 관리할 수 있습니다.

* 스레드를 펼치려면 스레드 하단의 흰색 화살표를 클릭하여 모든 줄을 표시합니다.
* 표시되는 줄 수를 조정하려면 스레드를 구분하는 줄을 드래그합니다.
* 스레드 섹션의 높이를 호출 스택의 최대 뎁스로 설정하려면 라인을 더블 클릭합니다.
* 스레드 그룹을 접거나 펼치려면 뷰의 왼쪽 끝에 있는 스레드 이름 옆의 폴드아웃 화살표를 클릭하십시오.

## 전체 호출 스택 활성화

`GC.Alloc`, `UnsafeUtility.Malloc`, `JobHandle.Complete`가 방출되는 샘플에 대해 전체 호출 스택을 활성화할 수 있습니다. 이러한 호출 스택을 활성화하려면 다음을 따르십시오.

1. Profiler의 툴바에서 **Call Stacks** 버튼을 활성화합니다. 기본적으로 이는 `GC.Alloc` 샘플에 대한 호출 스택을 활성화합니다.
2. 다른 호출 스택을 활성화하려면 드롭다운 화살표를 선택하고 호출 스택을 표시할 다른 마커를 활성화합니다.

Unity 에디터에서 프로파일링을 하거나, 플레이어가 실행 중일 때 이 기능을 사용할 수 있습니다. 이 설정이 활성화된 후 프로파일링한 프레임에만 적용됩니다.

호출 스택을 더 자세히 조사하려면 다음을 따르십시오.

1. Timeline 뷰에서 샘플을 선택합니다.
2. 호출 스택을 복사하려면 **Copy**를 선택합니다.
3. 관련 코드 파일을 열려면 파일 경로를 선택합니다(파란색 링크로 강조 표시됨). **참고:** 이러한 방식으로 모든 코드 파일을 사용할 수는 없습니다. 또한 호출 스택 정보에는 해당 메서드의 정확한 줄 번호가 포함되지 않으며 해당 메서드의 시작 부분에 있는 줄만 포함됩니다.

전체 호출 스택 세부 정보를 열려면 다음을 따르십시오.

1. Hierarchy 또는 Raw Hierarchy 뷰에서 샘플을 엽니다.
2. **Details** 뷰를 **Related Data**로 설정합니다.

Related Data 뷰에는 이 샘플과 연결된 메타데이터가 나열되며, 여기에는 샘플이 연결된 `UnityEngine.Object`가 포함될 수 있습니다. `UnityEngine.Object`와 연결되지 않은 메타데이터 항목의 경우 이 패널에 이름이 **N/A**로 표시됩니다. **N/A** 항목을 선택하면 Profiler는 Details 뷰 하단에 호출 스택을 포함한 메타데이터를 표시합니다.

Unity에서 보고하는 일부 샘플에는 메타데이터가 빌트인되어 있습니다(예: 렌더링을 수행하는 `Camera` 게임 오브젝트에 연결된 `Camera.Render` 샘플). 플레이 모드에서 프로파일링하는 경우 Unity는 해당 인스턴스 ID를 통해 이러한 오브젝트를 보고하고 프로파일러 창에서 해당 오브젝트의 이름을 확인합니다. 이러한 오브젝트 중 하나를 클릭하면 Unity는 씬 계층 구조를 통해 해당 오브젝트를 찾아 [ping](/engine/6000.0/script-reference/unity-editor/editor-gui-utility/ping-object.md)합니다.

이 연결은 인스턴스 ID를 사용하므로 [플레이 모드에서 애플리케이션을 프로파일링](/engine/6000.0/manual/analysis/profiler/collect-data/profiling-applications/profiling-play-mode.md)할 때 그리고 오브젝트가 여전히 존재하는 한에서만 ping이 동작합니다. `GC.Alloc` 샘플의 경우 이 뷰는 **GC.Alloc** 열에 나열된 할당 크기로 이 계층 구조 레벨에서 발생한 각 할당에 대한 하나의 `N/A` 항목 목록을 표시합니다.


**GC.Alloc 샘플이 선택된 Timeline 뷰의 프로파일러 창과(위) 계층 구조 뷰에서 선택된 동일한 샘플의 프로파일러 창.:**
![](/api/media?file=/engine/6000.0/media/images/profiler-cpu-hierarchy-callstack.png)

이러한 마커에 대한 자세한 내용은 [프로파일러 마커](/engine/6000.0/manual/analysis/profiler/markers.md) 기술 자료를 참조하십시오.

## 추가 리소스

* [프로파일러를 데이터 소스에 연결](/engine/6000.0/manual/analysis/profiler/collect-data/profiling-applications.md)
* [CPU Profiler 모듈 레퍼런스](/engine/6000.0/manual/analysis/profiler/collect-data/visualizing-data/cpu/cpu.md)
* [프로파일러 마커](/engine/6000.0/manual/analysis/profiler/markers.md)
