huge page を有効にする
AlloyDB Omni は、PostgreSQL と同様に、huge page の使用をサポートしています。これを行うには、マシンで huge page を有効にする必要があります。また、データベース設定 huge_pages も有効にする必要があります。
提供されたスクリプトを実行して、マシンで huge page を有効にします。
Docker
docker run --rm --privileged google/alloydbomni setup-hostPodman
podman run --rm --privileged google/alloydbomni setup-hosthuge 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