Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Regolazione delle impostazioni della memoria
È consigliabile configurare i valori di memoria predefiniti per un database SQL Server che esegue carichi di lavoro JD Edwards. Ciò include:
-
Configurazione delle impostazioni di memoria massime e minime
-
Blocco delle pagine in memoria
Configura la memoria massima e minima
L'impostazione della memoria massima del database SQL Server garantisce che i sistemi operativi e gli altri processi dispongano di memoria sufficiente per eseguire le operazioni senza dover effettuare la paginazione su disco. L'impostazione della memoria massima e minima può impedire che più istanze di SQL Server installate sulla stessa EC2 istanza richiedano memoria l'una all'altra.
È possibile utilizzare lo script seguente per configurare automaticamente le impostazioni massime e minime con valori conservativi. Questo script riserva 1 GB per il sistema operativo, il 25% della memoria sotto i 16 GB e il 12,5% della memoria rimanente come sovraccarico. La memoria minima di SQL Server è impostata sulla metà della memoria massima. Lo script presuppone che sull'istanza sia installato un solo database SQL Server. EC2
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;
Bloccare le pagine in memoria
Per garantire la stabilità della memoria utilizzata per un database di EnterpriseOne SQL Server, si consiglia di bloccare le pagine in memoria. Segui i passaggi nella EC2 guida sulle migliori pratiche per la distribuzione di SQL Server su Amazon per completare questa configurazione.