기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
메모리 설정 조정
JD Edwards 워크로드를 실행하는 SQL Server 데이터베이스의 기본 메모리 값을 구성하는 것이 좋습니다. 다음이 포함됩니다.
-
최대 및 최소 메모리 설정 구성
-
메모리에서 페이지 잠그기
최대 및 최소 메모리 설정
SQL Server 데이터베이스의 최대 메모리를 설정하면 운영 체제와 기타 프로세스가 디스크에 페이징하지 않고도 작업을 수행할 수 있는 충분한 메모리를 확보할 수 있습니다. 최대 및 최소 메모리를 설정하면 동일한 EC2 인스턴스에 설치된 여러 SQL Server 인스턴스가 서로 메모리 부족 현상을 일으키는 것을 막을 수 있습니다.
다음 스크립트를 사용하여 보수적인 값으로 최대 및 최소 설정을 자동 구성할 수 있습니다. 이 스크립트는 1GB를 운영 체제용으로 예약하고, 16GB 미만 메모리의 25%와 나머지 메모리의 12.5%를 오버헤드로 예약합니다. SQL Server 최소 메모리는 최대 메모리의 절반으로 설정되어 있습니다. 이 스크립트는 EC2 인스턴스에 단일 SQL Server 데이터베이스가 설치되어 있다고 가정합니다.
DECLARE @OSMemoryTotalKB bigint; DECLARE @OSMemoryUnder16GB bigint; DECLARE @OSMemoryOver16GB bigint; DECLARE @OSOverhead bigint; DECLARE @MemoryOverheadLower bigint; DECLARE @MemoryOverheadUpper bigint; DECLARE @MemoryOverheadTotal bigint; DECLARE @SQLMaxMemory int; DECLARE @SQLMinMemory int; -- Find how much memory is available on the OS SELECT @OSMemoryTotalKB = total_physical_memory_kb from sys.dm_os_sys_memory; SET @OSMemoryUnder16GB = IIF(@OSMemoryTotalKB>16777216, 16777216, @OSMemoryTotalKB); SET @OSMemoryOver16GB = IIF(@OSMemoryTotalKB>16777216, @OSMemoryTotalKB-16777216, 0); -- Calculate overhead for the OS SET @OSOverhead= 1048576; -- static 1GB reservation -- Calculate overhead for managing memory SET @MemoryOverheadLower = @OSMemoryUnder16GB/4; --reserve 25% of memory under 16GB for overhead SET @MemoryOverheadUpper = @OSMemoryOver16GB/8; -- reserve 12.5% of memory over 16GB for overhead SET @MemoryOverheadTotal = @OSOverhead + @MemoryOverheadLower + @MemoryOverheadUpper; -- Calculate remaining memory available for SQL SET @SQLMaxMemory = (@OSMemoryTotalKB-@MemoryOverheadTotal)/1024; SET @SQLMinMemory = @SQLMaxMemory/2; -- set minimum to half of maximum Print N'Total Server memory (KB): ' + CAST(@OSMemoryTotalKB as NVARCHAR); Print N'Memory Overhead for OS Overhead (KB): ' + CAST(@OSOverhead as NVARCHAR); Print N'Memory Overhead for management of lower 16GB (KB): ' + CAST(@MemoryOverheadLower as NVARCHAR); Print N'Memory Overhead for management of over 16GB (KB): ' + CAST(@MemoryOverheadUpper as NVARCHAR); Print N'Memory Overhead Total: ' + CAST(@MemoryOverheadTotal as NVARCHAR); Print N'SQL Minimum Memory (MB): ' + CAST(@SQLMinMemory as NVARCHAR); Print N'SQL Maximum Memory (MB): ' + CAST(@SQLMaxMemory as NVARCHAR); EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'min server memory', @SQLMinMemory RECONFIGURE; EXEC sp_configure 'max server memory', @SQLMaxMemory; RECONFIGURE;
메모리에서 페이지 잠그기
EnterpriseOne SQL Server 데이터베이스에 사용되는 메모리의 안정성을 보장하려면 메모리에서 페이지를 잠그는 것이 좋습니다. Best practices for deploying SQL Server on Amazon EC2 가이드의 단계에 따라 이 구성을 완료합니다.