증상
Linux Docker 컨테이너 내에서 Microsoft SQL Server 2017의 인스턴스를 실행 하면 메모리 부족 오류 메시지가 나타날 수 있습니다.
원인
메모리 memorymb 구성이 사용 되지 않는 경우 기본적으로 Linux의 SQL Server는 총 실제 메모리의 80%의 소프트 제한을 사용 합니다. Docker 컨테이너에 할당 된 80% 메모리로 자신을 제한 하는 대신 총 호스트 메모리의 80%를 고려 하는 데 사용 되는 Docker 컨테이너 SQL 이 잘못 된 메모리 제한은 SQL Server에서 컨테이너에 사용할 수 있는 것 보다 많은 메모리를 사용 하려고 할 수 있으며, OOM으로 인 한 종료 후보가 될 수 있습니다.
참고Docker 이미지를 만들 때는 – m을 지정 하 여 Docker 메모리를 제한 해야 합니다. 자세한 내용은 다음 문서를 참조 하세요.
해결 방법
이 문제에 대 한 해결 방법은 다음 SQL Server 업데이트에 포함 되어 있습니다.
참고 메모리. memorylimit mb 구성이 구성 되어 있지 않으면이 수정을 사용 하 여 SQL Server가 자신을 컨테이너에 할당 된 메모리의 80% 소프트로 제한할 수 있습니다.
SQL Server 빌드 정보
각각의 새 SQL Server 빌드에는 이전 빌드에 있던 모든 핫픽스와 보안 수정 사항이 포함 되어 있습니다. 현재 버전의 SQL Server에 대 한 최신 빌드를 설치 하는 것이 좋습니다.
상태
Microsoft는 이 문제가 "적용 대상" 절에 나열된 Microsoft 제품에서 발생하는 문제로 확인했습니다.
참조
Microsoft에서 소프트웨어 업데이트를 설명 하는 데 사용 하는 표준 용어 에 대해 알아봅니다.