다음을 통해 공유


해결 방법: 메모리가 SQL Server의 memory.memorylimitmb에 지정된 구성된 제한을 초과합니다.

증상

SQL Server on Linux는 구성된 제한을 초과하는 메모리 사용량을 표시하는 상위 및 ps와 같은 도구를 모니터링하여 입증된 대로 memory.memorylimitmb 구성 옵션으로 설정된 메모리 경계를 준수하지 않을 수 있습니다.

예를 들어 다음 명령의 RES(상주 메모리 크기) 또는 RSS(상주 메모리 사용량) 필드가 보고한 메모리가 구성된 memory.memorylimitmb메모리보다 높은 것을 알 수 있습니다.

top -p $(pidof sqlservr | cut -d' ' -f1)

ps -p $(pidof sqlservr | cut -d' ' -f1) -u

해결

이 문제는 SQL Server에 대한 다음 누적 업데이트에서 해결되었습니다.

참고 항목

수정 사항을 적용한 후 Active Directory 인증이 구성된 서버의 경우 여전히 문제가 표시되거나 메모리 제한이 memory.memorylimitmb 빠르게 사용된다는 것을 알 수 있습니다. 이 시나리오에서는 누수 krb5_gss_inquire_cred()문제를 해결 defcred 하려면 Linux의 Kerberos v5(krb5) 패키지 버전을 1.19.2 이상 버전으로 업데이트해야 합니다. 자세한 내용은 krb5_gss_inquire_cred()에서 지연된 누수 수정을 참조 하세요.

RHEL(Red Hat Enterprise Linux) 8, Ubuntu 20.04 또는 SLES(SUSE Linux Enterprise Server) 12 배포판의 경우 Linux 배포 공급업체에 문의하여 krb5에 대한 업데이트된 패키지를 요청해야 할 수 있습니다.

패키지를 업데이트할 수 없는 경우 애플리케이션 연결 문자열 풀된 연결을 사용하여 누출 krb5_gss_inquire_cred() 을 해결할 수 있습니다.

SQL Server on Linux의 메모리 사용량 모니터링

SQL Server 2022 CU14(누적 업데이트 14) 또는 SQL Server 2019 CU27 이상 버전을 설치한 후에는 DMV(동적 관리 뷰)의 열과 열을 사용하여 system_low_memory_signal_state 시스템 리소스 경고를 모니터링할 수 있습니다sys.dm_os_sys_memory.system_high_memory_signal_state 일관되게 표시되는 1경우 system_low_memory_signal_state SQL Server에 대한 메모리 할당을 늘리거나 가장 많은 메모리를 사용하는 쿼리를 검토한 다음 메모리 요구 사항을 해결하는 것이 좋습니다.

SQL Server의 누적 업데이트 정보

SQL Server에 대한 각각의 새로운 누적 업데이트에는 이전 빌드에 있던 모든 핫픽스 및 보안 수정 사항이 포함됩니다. SQL Server 버전에 대한 최신 빌드를 설치하는 것이 좋습니다.

상태

Microsoft는 "적용 대상" 섹션에 있는 Microsoft 제품에 문제가 있다는 것을 확인했습니다.

참조

Microsoft가 소프트웨어 업데이트를 설명하는 데 사용하는 용어에 대해 알아보세요.

타사 정보 고지 사항

이 문서에 나와 있는 다른 공급업체 제품은 Microsoft와 무관한 회사에서 제조한 것입니다. Microsoft는 이들 제품의 성능이나 안정성에 관하여 명시적이든 묵시적이든 어떠한 보증도 하지 않습니다.