AlloyDB Omni unterstützt wie PostgreSQL die Verwendung von Huge Pages. Dazu müssen auf Ihrem Computer Huge Pages aktiviert sein. Außerdem müssen Sie die Datenbankeinstellung huge_pages aktivieren.
Führen Sie das bereitgestellte Skript aus, um auf Ihrem Computer große Seiten zu aktivieren:
Fügen Sie Ihrem postgresql.conf die folgende Zeile hinzu, um große Seiten zu aktivieren:
huge_pages=on
Tauschen aktivieren
Durch das Auslagern im Betriebssystem kann der verfügbare physische Arbeitsspeicher erweitert werden, indem inaktive Speicherseiten zwischen dem Arbeitsspeicher (RAM) und der Festplatte verschoben werden, um RAM-Speicherplatz für aktive Prozesse freizugeben. AlloyDB Omni verwendet Swapping, wenn die Last hoch ist und zusätzlicher Arbeitsspeicher benötigt wird.
So prüfen Sie, wie viel Auslagerungsspeicher auf Ihrem System aktiviert ist:
cat/proc/meminfo|grepSwapTotal
Die Ausgabe sieht dann ungefähr so aus:
SwapTotal: 165748732 kB
Wenn der Ausgabewert 0 ist, können Sie das Swapping in Ihrem Betriebssystem so aktivieren:
Wenn in AlloyDB Omni ein nicht behebbarer Fehler auftritt und das System abstürzt, ist es hilfreich, einen Core-Dump zur Analyse zu haben. Ein Core-Dump ist ein Snapshot des Speichers des AlloyDB Omni-Prozesses zum Zeitpunkt des Absturzes.
So richten Sie Core-Dumps ein:kernel.core_pattern
Verwenden Sie den Befehl sysctl, um Laufzeit-Kernelparameter zu konfigurieren.
Wenn Sie kernel.core_pattern sofort festlegen möchten, verwenden Sie:
sysctl-wkernel.core_pattern="CORE_PATTERN"
Ersetzen Sie CORE_PATTERN durch ein Muster für den Core-Dateinamen, z. B. „%e-%t.core“.
Mit dem systemd-coredump-Handler können Sie die Coredump-Einstellungen weiter konfigurieren. Das Tool ist standardmäßig in RHEL installiert. Führen Sie auf Debian- und Ubuntu-Systemen sudo apt install coredumpctl aus, um das Tool zu installieren.
Wenn Sie AlloyDB Omni starten, müssen Sie das Argument --ulimit=core:-1:-1 im Befehl docker run übergeben:
CONTAINER_NAME: Der Name eines neuen AlloyDB Omni-Containers, z. B. my-omni-1.
<code>NEW_PASSWORD: Das Passwort, das dem postgres-Nutzer des neuen Containers nach der Erstellung zugewiesen wurde.
Systemd-Units einrichten, um Vorgänge automatisch auszuführen
Wenn Sie AlloyDB Omni auf einem dedizierten Server ausführen, können Sie bestimmte Vorgänge so konfigurieren, dass sie beim Start des Servers automatisch gestartet werden. Eine Möglichkeit dazu sind systemd-Einheiten.
Mit den folgenden Schritten wird beispielsweise systemd so konfiguriert, dass große Seiten automatisch aktiviert werden, wenn der Server hochgefahren wird.
Erstellen Sie eine Datei in /etc/systemd/system/alloydb-setup-env.service:
[Unit]
Description=Setup huge pages for AlloyDB Omni
[Service]
Type=oneshot
ExecStart=/usr/bin/docker run --rm --privileged google/alloydbomni setup-host
[Install]
WantedBy=multi-user.target
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-17 (UTC)."],[[["\u003cp\u003eThis page provides essential settings for using AlloyDB Omni in production environments, focusing on single-server configurations.\u003c/p\u003e\n"],["\u003cp\u003eEnabling huge pages in AlloyDB Omni, similar to PostgreSQL, enhances performance and requires both machine-level and database-level configuration, which can be done by running the provided setup script and altering the \u003ccode\u003epostgresql.conf\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eSwapping should be enabled on the operating system to allow AlloyDB Omni to use extra memory during high load situations and instructions on how to do this are provided.\u003c/p\u003e\n"],["\u003cp\u003eCore dumps can be enabled to capture a memory snapshot in the event of an unrecoverable error, using the \u003ccode\u003esysctl\u003c/code\u003e command to set the \u003ccode\u003ekernel.core_pattern\u003c/code\u003e and ensuring \u003ccode\u003e--ulimit=core:-1:-1\u003c/code\u003e is used in the \u003ccode\u003edocker run\u003c/code\u003e or \u003ccode\u003epodman run\u003c/code\u003e command.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eSystemd\u003c/code\u003e units can be used to automate operations, like setting up huge pages, upon server boot-up, with a detailed example of how to achieve this.\u003c/p\u003e\n"]]],[],null,["# Set up AlloyDB Omni for production\n\nSelect a documentation version: 15.5.5keyboard_arrow_down\n\n- [Current (16.8.0)](/alloydb/omni/current/docs/configure-omni)\n- [16.8.0](/alloydb/omni/16.8.0/docs/configure-omni)\n- [16.3.0](/alloydb/omni/16.3.0/docs/configure-omni)\n- [15.12.0](/alloydb/omni/15.12.0/docs/configure-omni)\n- [15.7.1](/alloydb/omni/15.7.1/docs/configure-omni)\n- [15.7.0](/alloydb/omni/15.7.0/docs/configure-omni)\n- [15.5.5](/alloydb/omni/15.5.5/docs/configure-omni)\n- [15.5.4](/alloydb/omni/15.5.4/docs/configure-omni)\n- [15.5.2](/alloydb/omni/15.5.2/docs/configure-omni)\n\n\u003cbr /\u003e\n\nThis page shows common settings when using AlloyDB Omni for production workloads.\n\n\u003cbr /\u003e\n\n### Single-server\n\nEnable huge pages\n-----------------\n\nAlloyDB Omni, just like PostgreSQL, supports the use of huge pages. This requires your machine to have huge pages enabled, and you also need to enable a database setting `huge_pages`.\n\n1. Run the provided script to enable huge pages on your machine:\n\n ### Docker\n\n docker run --rm --privileged google/alloydbomni setup-host\n\n ### Podman\n\n podman run --rm --privileged google/alloydbomni setup-host\n\n2. Add the following line to your `postgresql.conf` to enable huge pages:\n\n huge_pages=on\n\nEnable swapping\n---------------\n\nSwapping in the operating system allows to extend available physical memory by moving inactive memory pages between random access memory (RAM) and the hard disk to free up RAM space for active processes. AlloyDB Omni uses swapping when it is under high load and requires extra memory.\n\nTo check how much swapping space is enabled on your system, run the following: \n\n cat /proc/meminfo | grep SwapTotal\n\nThe output looks similar to the following: \n\n SwapTotal: 165748732 kB\n\nTo enable swapping on your operating system if the output value is `0`, see the following:\n\n- [Debian](https://wiki.debian.org/Swap)\n- [Ubuntu](https://help.ubuntu.com/community/SwapFaq)\n- [Red Hat Enterprise Linux 9](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/managing_storage_devices/getting-started-with-swap_managing-storage-devices#creating-an-lvm2-logical-volume-for-swap_getting-started-with-swap)\n\nEnable core dumps\n-----------------\n\nIf AlloyDB Omni encounters an unrecoverable error and crashes, it is helpful to have a core dump for analysis. A core dump is a snapshot of the memory of the AlloyDB Omni process at the point of its crash.\n\nTo set up core dumps, set up `kernel.core_pattern` as follows:\n\n1. Use the `sysctl` command to configure run time kernel parameters.\n2. To set the `kernel.core_pattern` immediately, use:\n\n sysctl -w kernel.core_pattern=\"\u003cvar translate=\"no\"\u003eCORE_PATTERN\u003c/var\u003e\"\n\n Replace \u003cvar translate=\"no\"\u003eCORE_PATTERN\u003c/var\u003e with a core filename pattern such as \"%e-%t.core\".\n\n For more information on core filename patterns, see [How to set process core file names](https://access.redhat.com/solutions/901293#:%7E:text=an%20unknown%20key-,Resolution,-In%20current%20linux%22) for details.\n\n The [systemd-coredump handler](https://systemd.io/COREDUMP/) allows further configuration of your coredump settings. The tool is installed by default in RHEL. On Debian and Ubuntu systems, run `sudo apt install coredumpctl` to install the tool.\n\n When you start AlloyDB Omni, ensure that you pass the `--ulimit=core:-1:-1` argument in the `docker run` command: \n\n ### Docker\n\n docker run --name \u003cvar translate=\"no\"\u003eCONTAINER_NAME\u003c/var\u003e \\\n -e POSTGRES_PASSWORD=\u003cvar translate=\"no\"\u003eNEW_PASSWORD\u003c/var\u003e \\\n --ulimit=core:-1:-1 \\\n -p HOST_PORT:5432 -d google/alloydbomni\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eCONTAINER_NAME\u003c/var\u003e: the name of a new AlloyDB Omni container---for example, `my-omni-1`.\n - `\u003ccode\u003e`\u003cvar translate=\"no\"\u003eNEW_PASSWORD\u003c/var\u003e: the password assigned to new container's `postgres` user after its creation.\n\n ### Podman\n\n podman run --name \u003cvar translate=\"no\"\u003eCONTAINER_NAME\u003c/var\u003e \\\n -e POSTGRES_PASSWORD=\u003cvar translate=\"no\"\u003eNEW_PASSWORD\u003c/var\u003e \\\n --ulimit=core:-1:-1 \\\n -p HOST_PORT:5432 -d google/alloydbomni\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eCONTAINER_NAME\u003c/var\u003e: the name of a new AlloyDB Omni container---for example, `my-omni-1`.\n - `\u003ccode\u003e`\u003cvar translate=\"no\"\u003eNEW_PASSWORD\u003c/var\u003e: the password assigned to new container's `postgres` user after its creation.\n\nSet up systemd units to run operations automatically\n----------------------------------------------------\n\nIf you run AlloyDB Omni on a dedicated server, then you may want to configure certain operations to start automatically when the server boots up. One way to do this is through `systemd` units.\n\nFor example, the following steps configure `systemd` so that huge pages are enabled automatically whenever the server boots up.\n\n1. Create a file in `/etc/systemd/system/alloydb-setup-env.service`:\n\n [Unit]\n Description=Setup huge pages for AlloyDB Omni\n\n [Service]\n Type=oneshot\n\n ExecStart=/usr/bin/docker run --rm --privileged google/alloydbomni setup-host\n\n [Install]\n WantedBy=multi-user.target\n\n2. Enable the service as follows:\n\n sudo systemctl enable alloydb-setup-env.service\n\nWhat's next\n-----------\n\n- [Run and connect to AlloyDB Omni](/alloydb/omni/15.5.5/docs/run-connect)\n\n- [Manage AlloyDB Omni](/alloydb/omni/15.5.5/docs/manage)\n\n- [Create a read-only replica](/alloydb/omni/15.5.5/docs/set-up-read-replica)\n\n- [Manage backup and restore](/alloydb/omni/15.5.5/docs/backup-kubernetes)\n\n- [Create read pool instance in Kubernetes](/alloydb/omni/15.5.5/docs/kubernetes-read-pool)\n\n- [Use a sidecar container in Kubernetes](/alloydb/omni/15.5.5/docs/kubernetes-sidecar-container)"]]