it-swarm.it

Dimensioni consigliate del file di paging per SQL 2008R2 su Windows 2008R2

Questo articolo Microsoft - Come determinare la dimensione appropriata del file di paging per le versioni a 64 bit di Windows Server 2008 eo Windows 2008 R2 fornisce una guida per il calcolo della dimensione del file di paging per Windows 2008 a 64 bit e Windows 2008 R2. Questo senza dubbio funziona benissimo per server di uso generale. Mi chiedo quale sia la guida per SQL Server 2008R2 in esecuzione su Windows 2008/R2 a 64 bit?

Suppongo che vogliamo che nella memoria vengano colpiti solo pochi dati della memoria, altrimenti SQL potrebbe colpire il disco due volte per i dati. SQL Server consente persino ai dati in memoria di colpire il file di paging ? Ho cercato documentazione online di SQL Server 2008 R2 come guida, ma non ho ancora trovato alcuna menzione dell'uso del file di paging.

Ecco un potenziale scenario di utilizzo: Dato un server fisico con 64 GB di RAM, è necessario un file di paging per l'intero 64 GB di RAM? Dovremmo adattarlo per 96 GB di file di paging? Sembra un po 'eccessivo per un singolo file. So che la saggezza convenzionale è stata che Windows accoppia il file di paging alla memoria nel tentativo di semplificare lo scambio di app sulla RAM, ma è vero? Un file di paging inferiore a 64 GB ostacolerà le prestazioni qui?

25
Kev

Non esistono impostazioni speciali per SQL Server che utilizza normalmente solo la memoria fisica

Fai quello che dice MS per Windows e basta

Oh, e compra di più RAM comunque mentre siamo uno dei soggetti ... ;-)

15
gbn

Guardare dentro lock pages in memory. In questo modo, puoi dare la preferenza al tuo account del servizio SQL di utilizzare disponibile RAM piuttosto che il paging sul disco. Per leggere di più sulle pagine di blocco in memoria, controlla questo link Segue uno snippet:

L'opzione Blocca pagine in memoria dei criteri di Windows è disabilitata per impostazione predefinita. Questo privilegio deve essere abilitato per configurare Address Windowing Extensions (AWE). Questa politica determina quali account possono utilizzare un processo per conservare i dati nella memoria fisica, impedendo al sistema di eseguire il paging dei dati nella memoria virtuale su disco. Sui sistemi operativi a 32 bit, l'impostazione di questo privilegio quando non si utilizza AWE può compromettere significativamente le prestazioni del sistema. Il blocco delle pagine in memoria non è richiesto nei sistemi operativi a 64 bit.

Prova questa funzione prima di utilizzarla sui tuoi sistemi.

6
StanleyJohns

Sì, per 64 GB RAM è necessario minimo 64 GB file di scambio (96 GB consigliati). Non a causa del potenziale scambio, ma a causa della progettazione di Gestione memoria di Windows. Ho scritto su questo problema in precedenza in Dimensione del file di paging del sistema su macchine con RAM di grandi dimensioni :

Quando un processo richiede MEM_COMMIT memoria tramite VirtualAlloc/VirtualAllocEx, la dimensione richiesta deve essere riservata nel file di paging. Questo era vero nel primo sistema Win NT, ed è ancora vero oggi vedi Gestione della memoria virtuale in Win32 :

Quando viene impegnata la memoria, vengono allocate le pagine fisiche della memoria e lo spazio è riservato in un file di paging.

L'alternativa sarebbe qualcosa come oom_killer .

Quindi segui la raccomandazione, a volte le cose sono un po 'più complesse di quello che sembrano. E non ho nemmeno toccato le complicazioni portate da AWE e il privilegio di blocco pagine ...

4
Remus Rusanu