Se stai eseguendo il database Oracle nel tuo ambiente e hai problemi di prestazioni a causa della memoria, potresti dover guardare lo spazio di scambio configurato sul tuo sistema.
Per il database Oracle 11g, quanto segue è il consiglio di Oracle in termini di quantità di spazio da aggiungere.
- Se la dimensione della tua RAM è inferiore o uguale a 2 GB, la dimensione dello scambio dovrebbe essere 1,5 volte la RAM. Ad esempio, se la dimensione della tua RAM è 2 GB, dovresti creare uno spazio di scambio di 3 GB
- Se la dimensione della tua RAM è compresa tra 2 GB e 16 GB, la dimensione dello scambio dovrebbe essere la stessa della RAM. Ad esempio, se la dimensione della tua RAM è 4 GB, dovresti creare uno spazio di scambio di 4 GB
- Se la dimensione della tua RAM è superiore a 16 GB, la dimensione dello scambio dovrebbe essere 16 GB. Ad esempio, se la dimensione della tua RAM è di 32 GB, è sufficiente creare uno spazio di swap di 16 GB
Ci sono anche molti altri parametri che entrano in gioco quando si configura il database per le prestazioni. Se il tuo database ha bisogno di grandi dimensioni SGA per motivi di prestazioni, potresti prendere in considerazione l'utilizzo di HugePages. Per impostazione predefinita, le dimensioni della pagina SGA sono suddivise in 4k. Quando usi HugePages, la dimensione della pagina SGA viene ridotta a un minimo di 2 MB. Devi tenerlo a mente, quando configuri il tuo database.
Puoi visualizzare l'attuale dimensione di HugePage come mostrato di seguito.
$ grep Huge /proc/meminfo HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 Hugepagesize: 4096 kB
Questo articolo di Oracle ti fornirà un'introduzione a hugepages, che potresti prendere in considerazione quando utilizzi una memoria di grandi dimensioni.
Su Linux, esegui il comando free, per identificare la dimensione attuale della RAM e la dimensione dello SWAP. Per impostazione predefinita, il comando gratuito mostra l'output in kb. Dal momento che abbiamo fornito l'opzione -m, mostra l'output in MB. Come mostrato di seguito, questo sistema ha 3 GB di RAM e 2 GB di swap.
$ free -m total used free shared buffers cached Mem: 3034 2907 126 0 107 1103 -/+ buffers/cache: 1696 1338 Swap: 2047 85 1962
Puoi anche ottenere la dimensione totale della RAM e la dimensione di scambio del tuo sistema dal file /proc/meminfo come mostrato di seguito. Questo mostra l'output in kilo byte.
$ egrep 'MemTotal|SwapTotal' /proc/meminfo MemTotal: 3107636 kB SwapTotal: 2096472 kB
Puoi aggiungere spazio di scambio al tuo sistema usando uno qualsiasi dei due metodi spiegati in questo articolo Come aggiungere spazio di scambio.
L'esempio seguente aggiungerà 1 GB di file di scambio al tuo sistema Linux.
dd if=/dev/zero of=/root/myswapfile bs=1M count=1024 chmod 600 /root/myswapfile mkswap /root/myswapfile swapon /root/myswapfile