27.2. systemd를 사용하여 NUMA 정책 구성
NUMA(Non-Uniform Memory Access)는 메모리 액세스 시간이 프로세서와 관련된 물리적 메모리 위치에 따라 달라지는 컴퓨터 메모리 하위 시스템 설계입니다.
CPU에 가까운 메모리는 다른 CPU(예: 메모리)에 대해 로컬이거나 CPU 세트 간에 공유되는 메모리보다 대기 시간(로컬 메모리)이 짧습니다.
Linux 커널의 관점에서 NUMA 정책은 커널이 프로세스에 실제 메모리 페이지를 할당하는 위치(예: NUMA 노드)를 관리합니다.
systemd
는 NUMAPolicy
및 NUMAMask
를 제공하여 서비스의 메모리 할당 정책을 제어합니다.
프로세스
NUMAPolicy
단위 파일 옵션을 통해 NUMA 메모리 정책을 설정하려면 다음을 수행합니다.
선택한 서비스에서
NUMAPolicy
단위 파일 옵션의 값을 확인합니다.$ systemctl show --property <NUMA policy configuration option> <service name>
root 로서
NUMAPolicy
장치 파일 옵션의 필수 정책 유형을 설정합니다.# systemctl set-property <service name> NUMAPolicy=<value>
서비스를 다시 시작하여 변경 사항을 적용합니다.
# systemctl restart <service name>
[Manager] 구성 옵션을 사용하여 글로벌 NUMAPolicy
설정을 설정하려면 다음을 수행합니다.
-
/etc/systemd/system.conf
파일에서 파일의 [Manager] 섹션에서NUMAPolicy
옵션을 검색합니다. - 정책 유형을 편집하고 파일을 저장합니다.
systemd
구성을 다시 로드합니다.# systemd daemon-reload
- 서버를 재부팅합니다.
엄격한 NUMA 정책(예: bind
)을 구성할 때 CPUAffinity=
단위 파일 옵션도 적절하게 설정해야 합니다.
추가 리소스
- systemd에 대한 NUMA 정책 구성 옵션
-
systemd.resource-control(5)
,systemd.exec(5)
및set_mempolicy(2)
도움말 페이지.