Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Régler les paramètres de la mémoire
Nous vous recommandons de configurer les valeurs de mémoire par défaut pour une base de données SQL Server qui exécute des charges de travail JD Edwards. Il s’agit des licences suivantes :
-
Configuration des paramètres de mémoire maximale et minimale
-
Verrouillage des pages dans la mémoire
Configuration de la mémoire maximale et minimale
La définition de la mémoire maximale de la base de données SQL Server garantit que les systèmes d'exploitation et les autres processus disposent de suffisamment de mémoire pour effectuer leurs actions sans pagination sur le disque. La définition d'une mémoire maximale et minimale peut empêcher plusieurs instances de SQL Server installées sur la même EC2 instance de se priver mutuellement de mémoire.
Vous pouvez utiliser le script suivant pour configurer automatiquement les paramètres maximaux et minimaux avec des valeurs conservatrices. Ce script réserve 1 Go au système d'exploitation, 25 % de la mémoire inférieure à 16 Go et 12,5 % de la mémoire restante sous forme de surcharge. La mémoire minimale de SQL Server est définie sur la moitié de la mémoire maximale. Le script part du principe qu'une seule base de données SQL Server est installée sur l' EC2 instance.
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;
Verrouillage des pages dans la mémoire
Pour garantir la stabilité de la mémoire utilisée pour une base de données EnterpriseOne SQL Server, nous vous recommandons de verrouiller les pages en mémoire. Suivez les étapes décrites dans le EC2 guide des meilleures pratiques pour le déploiement de SQL Server sur Amazon pour terminer cette configuration.