Simples programa em shell para tunar estes parâmetros de Kernel:
#!/bin/bash
page_size=`getconf PAGE_SIZE`
phys_pages=`getconf _PHYS_PAGES`
shmall=`expr $phys_pages / 2`
shmmax=`expr $shmall \* $page_size`
sysctl -w kernel.shmmax = $shmmax
sysctl -w kernel.shmall = $shmall
echo kernel.shmmax = $shmmax
echo kernel.shmall = $shmall
Após executar o código em um .sh da vida você terá o retorno dos parâmetros de kernel aplicados e indicados pela documentação do PostgreSQL.
Este comentário foi removido pelo autor.
ResponderExcluirOlá Gabriel!
ResponderExcluirOs parametros de kernel shmmax e shmall são parametros que também deve ser configurados para o banco de dados Oracle. No Oracle a checagem de parametros é feita na instalação, se não tiver adequado, ele nem é instalado.
Como proceder essa configuração, caso já tenha o Oracle instalado, provavelmente os valores recomendados entre Oracle e Postgresql são diferentes.
É possível fazer essa configuração de kernel por banco ? Ou a unica solução seria, ter um SO pra cada banco ?
Sakamoto
MyTracelog - Registro de um DBA
http://mytracelog.blogspot.com
Olá Sakamoto!
ResponderExcluirBom, os parâmetros 'shmmax' e 'shmall' para o Oracle são baseados no valor de sua SGA, idem para o PostgreSQL(shared_buffers/effective_size e por ai vai). Caso tenha os dois bancos em um só servidor sugiro dimensionar os valores do kernel('shmmax' e 'shmall') de acordo com o banco de dados que possuirá a maior porção de memória, pois o outro por consequência será atendido.
não entendo nada disso, mas te acho um gato!!
ResponderExcluir