Valor alto de shmmax no Redhat 6.3

2

Estamos usando o Redhat 6.3 com 30G de RAM para hospedar nosso servidor Postgres.

O valor padrão (shmmax) é 68,719,476,736

Em alguns fóruns eu li que ter um valor shmmax maior do que a RAM causa paginação extensa, mas nos fóruns do Redhat ele avisa sobre a alteração de um parâmetro do kernel que já está configurado para um valor maior que os requisitos mínimos para um ambiente.

No ServerFault eu li que isso provavelmente não tem impacto.

Portanto, há algum impacto de ter valor de shmmax > RAM em um servidor de banco de dados, ou o kernel entende isso e lida apropriadamente?

Obrigado

    
por xpapad 08.05.2013 / 19:20

1 resposta

0

Não há implicações práticas de ter SHMMAX > RAM física, a menos que você realmente inicie usando essa RAM. Esteja ciente de que se você começar a alocar mais memória compartilhada do que o seu sistema tem RAM disponível, seu sistema irá trocar (assim como qualquer outra vez que você over-allocate RAM), que é certamente um matador de desempenho.

Observe que nas versões recentes do Postgres ( 9.3.0 e posterior ) Postgres usa memória compartilhada POSIX & mmap() , que reduz a demanda por Memória Compartilhada System V.
Se você fizer upgrade para o Postgres 9.3, poderá ser evitado completamente o ajuste dos parâmetros SHMMAX / SHMALL , a menos que você tenha um ambiente incomum (como rodar algumas dúzias de clusters Postgres em uma máquina).

    
por 12.11.2013 / 22:49