Ative as páginas enormes
O AlloyDB Omni, tal como o PostgreSQL, suporta a utilização de páginas grandes. Isto requer que a sua máquina tenha páginas grandes ativadas e também tem de ativar uma definição da base de dados huge_pages
.
Execute o script fornecido para ativar as páginas enormes no seu computador:
Docker
docker run --rm --privileged google/alloydbomni setup-host
Podman
podman run --rm --privileged google/alloydbomni setup-host
Adicione a seguinte linha ao seu
postgresql.conf
para ativar as páginas enormes:huge_pages=on
Ative a troca
A troca no sistema operativo permite aumentar a memória física disponível movendo páginas de memória inativas entre a memória de acesso aleatório (RAM) e o disco rígido para libertar espaço na RAM para processos ativos. O AlloyDB Omni usa a troca quando está sob carga elevada e requer memória adicional.
Para verificar a quantidade de espaço de troca ativado no seu sistema, execute o seguinte:
cat /proc/meminfo | grep SwapTotal
O resultado tem um aspeto semelhante ao seguinte:
SwapTotal: 165748732 kB
Para ativar a troca no seu sistema operativo se o valor de saída for 0
, consulte o seguinte:
Ative os despejos de memória
Se o AlloyDB Omni encontrar um erro irrecuperável e falhar, é útil ter um despejo de memória para análise. Uma captura da área dinâmica para dados é uma imagem instantânea da memória do processo do AlloyDB Omni no momento da falha.
Para configurar descargas de memória, configure kernel.core_pattern
da seguinte forma:
- Use o comando
sysctl
para configurar os parâmetros do kernel de tempo de execução. - Para definir o
kernel.core_pattern
imediatamente, use:posix-terminal sysctl -w kernel.core_pattern="CORE_PATTERN"
SubstituaCORE_PATTERN
por um padrão de nome de ficheiro principal, como "%e-%t.core". Para mais informações sobre os padrões de nomes de ficheiros principais, consulte Como definir o processamento de nomes de ficheiros principais para ver detalhes. O gestor systemd-coredump permite uma configuração adicional das definições de coredump. A ferramenta está instalada por predefinição no RHEL. Nos sistemas Debian e Ubuntu, executesudo apt install coredumpctl
para instalar a ferramenta. Quando iniciar o AlloyDB Omni, certifique-se de que transmite o argumento--ulimit=core:-1:-1
no comandodocker run
:
Docker
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--ulimit=core:-1:-1 \
-p HOST_PORT:5432 -d google/alloydbomni
Substitua o seguinte:
CONTAINER_NAME
: o nome de um novo contentor do AlloyDB Omni, por exemplo,my-omni-1
.<code>NEW_PASSWORD
: a palavra-passe atribuída ao utilizadorpostgres
do novo contentor após a respetiva criação.
Podman
podman run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--ulimit=core:-1:-1 \
-p HOST_PORT:5432 -d google/alloydbomni
Substitua o seguinte:
CONTAINER_NAME
: o nome de um novo contentor do AlloyDB Omni, por exemplo,my-omni-1
.<code>NEW_PASSWORD
: a palavra-passe atribuída ao utilizadorpostgres
do novo contentor após a respetiva criação.
Configure unidades systemd para executar operações automaticamente
Se executar o AlloyDB Omni num servidor dedicado, pode querer configurar determinadas operações para serem iniciadas automaticamente quando o servidor é iniciado. Uma forma de o fazer é através de systemd
unidades.
Por exemplo, os passos seguintes configuram o systemd
para que as páginas grandes sejam ativadas automaticamente sempre que o servidor for iniciado.
Crie um ficheiro em
/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 ```
Ative o serviço da seguinte forma:
sudo systemctl enable alloydb-setup-env.service