6.11.4. 노드 과다 할당 이해
OpenShift Container Platform의 오버 커밋된 환경에서 최적의 시스템 성능 및 안정성을 유지하려면 리소스 경합을 효과적으로 관리하도록 노드를 구성합니다.
노드가 시작되면 메모리 관리를 위한 커널 조정 가능한 플래그가 올바르게 설정됩니다. 커널은 실제 메모리가 소진되지 않는 한 메모리 할당에 실패해서는 안됩니다.
이 동작을 확인하기 위해 OpenShift Container Platform은 vm.overcommit_memory 매개변수를 1로 설정하여 기본 운영 체제 설정을 재정의하여 커널이 항상 메모리를 오버 커밋하도록 구성합니다.
OpenShift Container Platform은 vm.panic_on_oom 매개변수를 0 으로 설정하여 메모리가 부족할 때 커널이 패닉되지 않도록 구성합니다. 0으로 설정하면 커널이 OOM(메모리 부족) 조건에서 OOM 킬러를 호출하여 우선 순위에 따라 프로세스를 종료합니다.
노드에서 다음 명령을 실행하여 현재 설정을 볼 수 있습니다.
$ sysctl -a |grep commit
출력 예
#...
vm.overcommit_memory = 0
#...
$ sysctl -a |grep panic
출력 예
#...
vm.panic_on_oom = 0
#...
이전 명령은 이미 노드에 설정되어 있어야 하므로 추가 작업이 필요하지 않습니다.
각 노드에 대해 다음 구성을 수행할 수도 있습니다.
- CPU CFS 할당량을 사용하여 CPU 제한 비활성화 또는 실행
- 시스템 프로세스의 리소스 예약
- Quality of Service (QoS) 계층에서의 메모리 예약