翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
JD Edwards ワークロードを実行している SQL Server データベースのデフォルトのメモリ値を設定することをお勧めします。具体的には次のとおりです。
-
最大メモリと最小メモリの設定を構成する
-
メモリ内のページをロックする
最大メモリと最小メモリを構成する
SQL Server データベースの最大メモリを設定すると、オペレーティングシステムやその他のプロセスに十分なメモリを確保し、ディスクにページングせずにアクションを実行できます。最大メモリと最小メモリを設定すると、同じ EC2 インスタンスにインストールされている複数の SQL Server インスタンスが互いにメモリ不足になるのを防ぐことができます。
次のスクリプトを使用すると、最大値と最小値を自動的に控えめな値で設定できます。このスクリプトは、1 GB をオペレーティングシステム用に、16 GB 未満のメモリの 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 データベースで使用するメモリを安定させるために、メモリ内のページをロックすることをお勧めします。「Amazon EC2 での SQL Server デプロイのベストプラクティス」ガイドのステップを実行して、この設定を完了します。