Wenn Sie eine Oracle-Datenbank in Ihrer Umgebung ausführen und Leistungsprobleme aufgrund des Arbeitsspeichers haben, müssen Sie möglicherweise den auf Ihrem System konfigurierten Auslagerungsbereich überprüfen.
Für die Oracle 11g-Datenbank ist die folgende Empfehlung von Oracle in Bezug darauf, wie viel Speicherplatz Sie hinzufügen sollten.
- Wenn Ihre RAM-Größe kleiner oder gleich 2 GB ist, sollte Ihre Auslagerungsgröße das 1,5-fache des RAM betragen. Wenn Ihre RAM-Größe beispielsweise 2 GB beträgt, sollten Sie 3 GB Auslagerungsspeicher erstellen
- Wenn Ihre RAM-Größe zwischen 2 GB und 16 GB liegt, sollte Ihre Auslagerungsgröße dieselbe Größe wie der RAM haben. Wenn Ihre RAM-Größe beispielsweise 4 GB beträgt, sollten Sie Swap-Speicherplatz von 4 GB erstellen
- Wenn Ihre RAM-Größe mehr als 16 GB beträgt, sollte Ihre Auslagerungsgröße 16 GB betragen. Wenn Ihre RAM-Größe beispielsweise 32 GB beträgt, reicht es aus, wenn Sie einen Auslagerungsspeicher von 16 GB erstellen
Es gibt auch viele andere Parameter, die ins Spiel kommen, wenn Sie Ihre Datenbank für Leistung konfigurieren. Wenn Ihre Datenbank aus Leistungsgründen eine große SGA-Größe benötigt, sollten Sie die Verwendung von HugePages in Betracht ziehen. Standardmäßig ist die SGA-Seitengröße auf 4 KB aufgeteilt. Wenn Sie HugePages verwenden, wird die SGA-Seitengröße auf mindestens 2 MB reduziert. Dies müssen Sie bei der Konfiguration Ihrer Datenbank berücksichtigen.
Sie können die aktuelle HugePagesize wie unten gezeigt anzeigen.
$ grep Huge /proc/meminfo HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 Hugepagesize: 4096 kB
Dieser Oracle-Artikel gibt Ihnen eine Einführung in Hugepages, die Sie möglicherweise in Betracht ziehen sollten, wenn Sie großen Speicher verwenden.
Führen Sie unter Linux den Befehl free aus, um die aktuelle RAM-Größe und SWAP-Größe zu ermitteln. Standardmäßig zeigt der Befehl free die Ausgabe in KB an. Da wir die Option -m angegeben haben, wird die Ausgabe in MB angezeigt. Wie unten gezeigt, verfügt dieses System über 3 GB RAM und 2 GB Swap.
$ free -m total used free shared buffers cached Mem: 3034 2907 126 0 107 1103 -/+ buffers/cache: 1696 1338 Swap: 2047 85 1962
Sie können auch die gesamte RAM-Größe und die Auslagerungsgröße Ihres Systems aus der Datei /proc/meminfo abrufen, wie unten gezeigt. Dies zeigt die Ausgabe in Kilobyte an.
$ egrep 'MemTotal|SwapTotal' /proc/meminfo MemTotal: 3107636 kB SwapTotal: 2096472 kB
Sie können Ihrem System Auslagerungsspeicher hinzufügen, indem Sie eine der beiden Methoden verwenden, die in diesem Artikel Wie man Auslagerungsspeicher hinzufügt erklärt wird.
Das folgende Beispiel fügt Ihrem Linux-System 1 GB Auslagerungsdatei hinzu.
dd if=/dev/zero of=/root/myswapfile bs=1M count=1024 chmod 600 /root/myswapfile mkswap /root/myswapfile swapon /root/myswapfile