# 할당자 커스터마이즈

> Customize the allocator types with the Editor or command line.

> **참고:** 일부 플랫폼에서는 이 기능을 지원하지 않습니다. 자세한 내용은 [플랫폼별](/engine/6000.0/manual/platform-specific.md) 기술 자료를 참조하십시오.

할당자 설정을 커스터마이즈하려면 [에디터 UI](#use-the-editor)를 통해 설정 가능한 값을 편집하거나 [커맨드 라인 인자](#use-command-line-arguments)로 제공할 수 있습니다.

## 에디터 사용

1. *Project Settings* > *Memory Settings*를 선택합니다.
2. 편집할 값 옆에 있는 잠금 아이콘을 선택합니다.


**플레이어 메모리 설정의 선택 사항을 보여 주는 Project Settings > Memory Settings:**
![](/api/media?file=/engine/6000.0/media/images/Memory_Settings.png)

> **참고**: 에디터 UI를 통해 커스터마이즈할 수 있는 필드를 보려면 이전 개별 할당자 섹션을 참조하십시오.

## 커맨드 라인 인자 사용

변경하려는 할당자 파라미터의 이름을 찾으려면 에디터와 플레이어가 시작할 때 출력하는 할당자 설정 리스트를 확인하십시오. 예를 들어 메인 힙 할당자의 블록 크기를 변경하려면 `-memorysetup-main-allocator-block-size=<new_value>`를 사용합니다.

할당자 파라미터 이름과 기본값:

| **할당자**                                 |                                       |                                                                      | **설명**                                                    | **파라미터 이름**                                                | **기본값**                             |
| --------------------------------------- | ------------------------------------- | -------------------------------------------------------------------- | --------------------------------------------------------- | ---------------------------------------------------------- | ----------------------------------- |
| Main Allocators                         |                                       |                                                                      | Unity에서 대부분의 할당에 사용하는 할당자입니다.                             |                                                            |                                     |
|                                         | Main Allocator                        |                                                                      | Unity에서 대부분의 할당에 사용하는 기본 할당자입니다.                          |                                                            |                                     |
|                                         |                                       |                                                                      |                                                           |                                                            |                                     |
|                                         | Main Thread Block Size                | 전용 메인 스레드 할당자의 블록 크기입니다.                                             | `memorysetup-main-allocator-block-size`                   | `16777216`                                                 |                                     |
|                                         |                                       |                                                                      |                                                           |                                                            |                                     |
|                                         | Shared Thread Block Size              | 공유 스레드 할당자의 블록 크기입니다.                                                | `memorysetup-thread-allocator-block-size`                 | `16777216`                                                 |                                     |
|                                         | Gfx Allocator                         |                                                                      | Unity에서 Gfx 시스템과 관련된 CPU 할당에 사용하는 할당자입니다.                 |                                                            |                                     |
|                                         |                                       |                                                                      |                                                           |                                                            |                                     |
|                                         | Main Thread Block Size                | 전용 메인 스레드 Gfx 할당자의 블록 크기입니다.                                         | `memorysetup-gfx-main-allocator-block-size`               | `16777216`                                                 |                                     |
|                                         |                                       |                                                                      |                                                           |                                                            |                                     |
|                                         | Shared Thread Block Size              | 공유 스레드 Gfx 할당자의 블록 크기입니다.                                            | `memorysetup-gfx-thread-allocator-block-size`             | `16777216`                                                 |                                     |
|                                         |                                       |                                                                      |                                                           |                                                            |                                     |
| Other Allocators                        |                                       |                                                                      |                                                           |                                                            |                                     |
|                                         |                                       |                                                                      |                                                           |                                                            |                                     |
|                                         | File Cache Block Size                 | 파일 캐시에는 단편화를 방지하기 위한 자체 할당자가 있습니다. 이는 그 할당자의 블록 크기입니다.               | `memorysetup-cache-allocator-block-size`                  | `4194304`                                                  |                                     |
|                                         |                                       |                                                                      |                                                           |                                                            |                                     |
|                                         | Type Tree Block Size                  | 유형 트리에는 다수의 작은 할당으로 인한 단편화를 피하기 위해 자체 할당자가 있습니다. 이는 그 할당자의 블록 크기입니다. | `memorysetup-typetree-allocator-block-size`               | `2097152`                                                  |                                     |
|                                         |                                       |                                                                      |                                                           |                                                            |                                     |
| Shared Bucket Allocator                 |                                       | 메인 할당자 간에 공유되는 버킷 할당자입니다.                                            |                                                           |                                                            |                                     |
|                                         |                                       |                                                                      |                                                           |                                                            |                                     |
|                                         | Bucket Allocator Granularity          | 공유 할당자에 있는 버킷의 스텝 크기입니다.                                             | `memorysetup-bucket-allocator-granularity`                | `16`                                                       |                                     |
|                                         |                                       |                                                                      |                                                           |                                                            |                                     |
|                                         | Bucket Allocator BucketCount          | 버킷 크기의 수입니다.                                                         | `memorysetup-bucket-allocator-bucket-count`               | `8`                                                        |                                     |
|                                         |                                       |                                                                      |                                                           |                                                            |                                     |
|                                         | Bucket Allocator Block Size           | 버킷에 사용되는 메모리 블록의 크기입니다.                                              | `memorysetup-bucket-allocator-block-size`                 | `Editor: 8388608``Player: 4194304`                         |                                     |
|                                         |                                       |                                                                      |                                                           |                                                            |                                     |
|                                         | Bucket Allocator Block Count          | 할당할 최대 블록 수입니다.                                                      | `memorysetup-bucket-allocator-block-count`                | `Editor: 8``Player: 1`                                     |                                     |
| Fast Per Thread Temporary Allocators    |                                       |                                                                      | 매우 짧은 할당을 처리하는 TLS(스레드 로컬 스토리지) 할당자입니다.                   |                                                            |                                     |
|                                         | Main Thread Block Size                |                                                                      | 메인 스레드 스택 크기의 초기값입니다.                                     | `memorysetup-temp-allocator-size-main`                     | `Editor: 16777216``Player: 4194304` |
|                                         | Job Worker Block Size                 |                                                                      | Unity 잡 시스템에 있는 각 잡 워커의 크기입니다.                            | `memorysetup-temp-allocator-size-job-worker`               | `E262144`                           |
|                                         | Background Job Worker Block Size      |                                                                      | 각 백그라운드 워커의 크기입니다.                                        | `memorysetup-temp-allocator-size-background-worker`        | `32768`                             |
|                                         | Preload Block Size                    |                                                                      | 사전 로드 관리자 스택 크기입니다.                                       | `memorysetup-temp-allocator-size-preload-manager`          | `Editor: 33554432``Player: 262144`  |
|                                         | Audio Worker Block Size               |                                                                      | 각 오디오 워커 스레드의 스택 크기입니다.                                   | `memorysetup-temp-allocator-size-audio-worker`             | `65536`                             |
|                                         | Cloud Worker Block Size               |                                                                      | 클라우드 워커 스레드 스택 크기입니다.                                     | `memorysetup-temp-allocator-size-cloud-worker`             | `32768`                             |
|                                         | Gfx Thread Blocksize                  |                                                                      | 메인 렌더 스레드 스택 크기입니다.                                       | `memorysetup-temp-allocator-size-gfx`                      | `262144`                            |
|                                         | GI Baking Blocksize                   |                                                                      | 각 GI 워커 스레드의 스택 크기입니다.                                    | `memorysetup-temp-allocator-size-gi-baking-worker`         | `262144`                            |
|                                         | NavMesh Worker Block Size             |                                                                      | 내비 메시 워커 스레드 스택 크기입니다.                                    | `memorysetup-temp-allocator-size-nav-mesh-worker`          | `65536`                             |
| Fast Thread Shared Temporary Allocators |                                       |                                                                      | 스레드 간에 공유되는 단기 할당을 위한 빠른 선형 할당자입니다.                       |                                                            |                                     |
|                                         | Job Allocator Block Size              |                                                                      | Unity에서 주로 잡 워커 스레드에 사용하는 라운드 로빈 선형 스레드 할당자입니다.           | `memorysetup-job-temp-allocator-block-size`                | `2097152`                           |
|                                         | Background Job Allocator Block Size   |                                                                      | 수명이 긴 할당을 허용하는 백그라운드 워커용 리니어 할당자입니다.                      | `memorysetup-job-temp-allocator-block-size-background`     | `21048576`                          |
|                                         | 메모리가 적은 플랫폼의 Job Allocator Block Size |                                                                      | 메모리가 2GB 미만인 플랫폼은 잡 워커와 백그라운드 잡 모두에 사용하는 크기입니다.           | `memorysetup-job-temp-allocator-reduction-small-platforms` | `262144`                            |
| Profiler Allocators                     |                                       |                                                                      | Unity에서 애플리케이션의 할당 패턴을 방해하지 않도록 프로파일러 전용으로 사용하는 할당자입니다.   |                                                            |                                     |
|                                         | Profiler Block Size                   |                                                                      | 프로파일러의 주요 부분에 대한 블록 크기입니다.                                | `memorysetup-profiler-allocator-block-size`                | `16777216`                          |
|                                         | Editor Profiler Block Size            |                                                                      | 프로파일러의 에디터 부분에 대한 블록 크기입니다. 플레이어에는 없습니다.                  | `memorysetup-profiler-editor-allocator-block-size`         | `1048576`                           |
|                                         | Shared Profiler Bucket Allocator      |                                                                      | 프로파일러와 에디터 프로파일러 할당자를 위한 공유 버킷 할당자입니다.메모리가 적은 플랫폼에는 없습니다. |                                                            |                                     |
|                                         |                                       |                                                                      |                                                           |                                                            |                                     |
|                                         | Bucket Allocator Granularity          | 공유 할당자에 있는 버킷의 스텝 크기입니다.                                             | `memorysetup-profiler-bucket-allocator-granularity`       | `16`                                                       |                                     |
|                                         |                                       |                                                                      |                                                           |                                                            |                                     |
|                                         | Bucket Allocator BucketCount          | 버킷 크기의 수입니다. 예를 들어 값이 4인 경우 크기는 16, 32, 48, 64입니다.                   | `memorysetup-profiler-bucket-allocator-bucket-count`      | `8`                                                        |                                     |
|                                         |                                       |                                                                      |                                                           |                                                            |                                     |
|                                         | Bucket Allocator Block Size           | 버킷에 사용되는 메모리 블록의 크기입니다.                                              | `memorysetup-profiler-bucket-allocator-block-size`        | `Editor: 33554432``Player: 4194304`                        |                                     |
|                                         |                                       |                                                                      |                                                           |                                                            |                                     |
|                                         | Bucket Allocator Block Count          | 할당할 최대 블록 수입니다.                                                      | `memorysetup-profiler-bucket-allocator-block-count`       | `Editor: 8``Player: 1`                                     |                                     |

> **팁**: 변경 전후로 애플리케이션을 프로파일링하여 설정 성능을 개선할 수 있습니다. 자세한 내용은 [프로파일러 개요 페이지](/engine/6000.0/manual/analysis/profiler.md)와 [프로파일러 분석기](https://docs.unity3d.com/Packages/com.unity.performance.profile-analyzer@latest)의 패키지 기술 자료를 참조하십시오. 프로파일러 분석기는 멀티프레임 비교를 지원하며, 특히 할당자 성능의 차이를 강조하는 데 유용합니다. 메모리 사용량 보고서도 확인할 수 있습니다. 보고서는 플레이어 또는 에디터를 닫으면 로그에서 확인할 수 있습니다. 로그 파일을 찾으려면 [로그 파일 페이지](/engine/6000.0/manual/scripting/debugging-and-diagnostics/log-files.md)의 지침을 따르십시오.

## 할당자 설정 저장 및 읽기

Unity는 할당자 설정을 `MemorySettings.asset`에 저장하여 빌드 시 수정된 설정으로 `boot.config` 파일을 채웁니다. 즉, 새 설정이 모든 빌드에 적용됩니다.

에디터에서 `boot.config`는 `ProjectSettings` 폴더에 있습니다. Unity가 `MemorySettings.asset`을 임포트하거나 변경할 때마다 업데이트됩니다. 에디터에 대한 새로운 값은 다음 에디터 시작 시에만 적용됩니다.
