huge page を有効にする
AlloyDB Omni は、PostgreSQL と同様に、huge page の使用をサポートしています。これを行うには、マシンで huge page を有効にする必要があります。また、データベース設定 huge_pages も有効にする必要があります。
- 提供されたスクリプトを実行して、マシンで huge page を有効にします。 - Docker- docker run --rm --privileged google/alloydbomni setup-host- Podman- podman run --rm --privileged google/alloydbomni setup-host
- huge page を有効にするには、 - postgresql.confに次の行を追加します。- huge_pages=on
スワッピングを有効にする
オペレーティング システムでスワッピングを行うと、アクティブでないメモリページをランダムアクセス メモリ(RAM)とハードディスク間で移動し、アクティブなプロセス用の RAM スペースを解放することで、使用可能な物理メモリを拡張できます。AlloyDB Omni は、負荷が高く、追加のメモリが必要な場合にスワッピングを使用します。
システムで有効になっているスワップ領域の量を確認するには、次のコマンドを実行します。
cat /proc/meminfo | grep SwapTotal出力は次のようになります。
SwapTotal:      165748732 kB
出力値が 0 の場合にオペレーティング システムでスワッピングを有効にするには、以下をご覧ください。
コアダンプを有効にする
AlloyDB Omni で回復不能エラーが発生してクラッシュした場合は、分析用のコアダンプを取得すると役に立ちます。コアダンプは、クラッシュした時点での AlloyDB Omni プロセスのメモリのスナップショットです。
コアダンプを設定するには、次のように kernel.core_pattern を設定します。
- sysctlコマンドを使用して、ランタイム カーネル パラメータを構成します。
- kernel.core_patternを直ちに設定するには、次のコードを使用します。- posix-terminal sysctl -w kernel.core_pattern="CORE_PATTERN"- CORE_PATTERNは、コアファイル名のパターン(%e-%t.core など)に置き換えます。 コアファイル名のパターンの詳細については、プロセスのコアファイル名を設定する方法をご覧ください。systemd-coredump ハンドラを使用すると、coredump 設定をさらに構成できます。このツールは RHEL にデフォルトでインストールされています。Debian システムと Ubuntu システムの場合は、- sudo apt install coredumpctlを実行してツールをインストールします。AlloyDB Omni を起動する際は、- docker runコマンドで- --ulimit=core:-1:-1引数を渡してください。
Docker
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--ulimit=core:-1:-1 \
-p HOST_PORT:5432 -d google/alloydbomni次のように置き換えます。
- CONTAINER_NAME: 新しい AlloyDB Omni コンテナの名前(- my-omni-1など)。
- <code>NEW_PASSWORD: 新しいコンテナの- postgresユーザーに作成後に割り当てられるパスワード。
Podman
 podman run --name CONTAINER_NAME \
 -e POSTGRES_PASSWORD=NEW_PASSWORD \
 --ulimit=core:-1:-1 \
 -p HOST_PORT:5432 -d google/alloydbomni次のように置き換えます。
- CONTAINER_NAME: 新しい AlloyDB Omni コンテナの名前(- my-omni-1など)。
- <code>NEW_PASSWORD: 新しいコンテナの- postgresユーザーに作成後に割り当てられるパスワード。
オペレーションを自動的に実行するように systemd ユニットを設定する
AlloyDB Omni を専用サーバーで実行する場合は、サーバーの起動時に特定のオペレーションを自動的に開始するように構成できます。これを行う方法の一つとして、systemd ユニットを使用する方法があります。
たとえば、次の手順では、サーバーが起動するたびに huge page が自動的に有効になるように systemd を構成します。
- /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 ```
- 次のようにサービスを有効にします。 - sudo systemctl enable alloydb-setup-env.service