Enable huge pages
AlloyDB 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
.
To enable huge pages on your Linux machine, run the following command:
sudo
/usr/lib/postgresql/ MAJOR_VERSION
/bin/alloydbomni MAJOR_VERSION
-setup-host
postgresql.conf
to enable huge pages:
huge_pages
=
on
Enable swapping
Swapping in the operating system lets you 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.
To check how much swapping space is enabled on your system, run the following:
cat
/proc/meminfo
|
grep
SwapTotal
The output looks similar to the following:
SwapTotal: 165748732 kB
To enable swapping on your operating system if the output value is 0
, see
the following:
Enable core dumps
If 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.
To set up core dumps, set up kernel.core_pattern
as follows:
- Use the
sysctlcommand to configure run time kernel parameters. -
To set the
kernel.core_patternimmediately, use:sysctl -w kernel.core_pattern = " CORE_PATTERN "Replace
CORE_PATTERNwith a core filename pattern such as "%e-%t.core".For more information on core filename patterns, see How to set process core file names for details.
The systemd-coredump handler allows further configuration of your coredump settings. The tool is installed by default in RHEL.
To ensure the AlloyDB Omni process can generate full core
dumps without any size limitations,
configure the systemd service by adding LimitCORE=infinity
to the [Service]
section of your alloydbomni MAJOR_VERSION
.service
file.
-
Create an override file for
alloydbomni MAJOR_VERSION .servicein/etc/systemd/system/alloydbomni MAJOR_VERSION .service.d/override.conf. Add the following to theoverride.conffile:[Service] LimitCORE = infinity -
Reload the systemd daemon to apply the changes:
sudo systemctl daemon-reload -
Restart the AlloyDB Omni service:
sudo systemctl restart alloydb-omni MAJOR_VERSION
Enable internal logging
AlloyDB Omni provides more messages in addition to regular PostgreSQL logs . These messages are intended for AlloyDB for PostgreSQL support because of their technical nature. However, additional information can assist in the debugging of database issues.
To enable internal logging, complete these steps:
-
Set the database parameter
enable_alloydb_internal_logtoon:ALTER SYSTEM SET enable_alloydb_internal_log = on ;For more information about modifying AlloyDB Omni settings, see Configure AlloyDB Omni database parameters .
-
Restart the AlloyDB Omni service:
sudo
systemctl
restart
alloydb-omni MAJOR_VERSION
To customize internal logging such as configuring log file names and rotation policies further, use PostgreSQL parameters .
For example, the log_directory
parameter specifies the directory where to save
a log file and the log_filename
parameter defines the name of the individual
log file.
AlloyDB Omni combines the log_directory
and log_filename
parameters
and saves internal logs as follows:
LOG_DIRECTORY
/ LOG_FILENAME
.internal
Set up systemd units to run operations automatically
If 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.
For example, the following steps configure systemd
so that huge
pages are enabled automatically whenever the server boots up.
Create a file in /etc/systemd/system/alloydb-setup-env.service
:
[Unit]
Description
=
Setup huge pages for AlloyDB Omni
[Service]
Type
=
oneshot
ExecStart
=
/usr/lib/postgresql/ MAJOR_VERSION
/bin/alloydbomni MAJOR_VERSION
-setup-host
[Install]
WantedBy
=
multi-user.target
Enable the service as follows:
sudo
systemctl
enable
alloydb-setup-env.service

