Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We are using Redhat 6.3 with 30G RAM to host our Postgres server.

The (default) shmmax value is 68,719,476,736

In some forums I have read that having an shmmax value larger than the RAM causes extensive paging, but in the Redhat forums it warns against changing a kernel parameter that is already configured to a value larger than the minimum requirements for an environment.

In ServerFault I've read that this probably has no impact.

So is there any impact of having shmmax value > RAM in a DB server, or the kernel understands this and handles it appropriately?


share|improve this question

There are no practical implications of having SHMMAX > physical RAM, unless you actually start using that RAM. Just be aware that if you start allocating more shared memory than your system has available RAM your system will swap (just like any other time you over-allocate RAM), which is certainly a performance killer.

Note that in recent versions of Postgres (9.3.0 and later) Postgres uses POSIX shared memory & mmap(), which reduces the demand for System V Shared Memory.
If you upgrade to Postgres 9.3 tuning the SHMMAX / SHMALL parameters can probably be avoided entirely unless you have an unusual environment (like running a few dozen Postgres clusters on one machine).

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.