單一伺服器
啟用巨頁
與 PostgreSQL 相同,AlloyDB Omni 也支援使用巨頁。這需要機器啟用巨頁,您也需要啟用資料庫設定 huge_pages
。
執行提供的指令碼,在電腦上啟用巨頁:
Docker
docker run --rm --privileged google/alloydbomni setup-host
Podman
podman run --rm --privileged google/alloydbomni setup-host
在
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
,請使用:sysctl -w kernel.core_pattern="CORE_PATTERN"
將
CORE_PATTERN
替換為核心檔案名稱模式,例如「%e-%t.core」。如要進一步瞭解核心檔案名稱模式,請參閱「如何設定程序核心檔案名稱」一文。
systemd-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
更改下列內容:
- :新 AlloyDB Omni 容器的名稱,例如
my-omni-1
。CONTAINER_NAME
<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
更改下列內容:
- :新 AlloyDB Omni 容器的名稱,例如
my-omni-1
。CONTAINER_NAME
<code>NEW_PASSWORD
:新容器建立後,系統會為postgres
使用者指派密碼。
- :新 AlloyDB Omni 容器的名稱,例如
設定 systemd 單位,自動執行作業
如果您在專屬伺服器上執行 AlloyDB Omni,可能需要設定在伺服器啟動時自動啟動特定作業。其中一種做法是透過 systemd
單位。
舉例來說,下列步驟會設定 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