public inbox for [email protected]  
help / color / mirror / Atom feed
From: Josh Berkus <[email protected]>
To: Bruce Momjian <[email protected]>
Cc: [email protected]
Subject: Re: Change to kernel-resources
Date: Mon, 07 Feb 2011 10:47:53 -0800
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>

Bruce,

Had to look up some stuff given the splintering of Solaris:

==================

Solaris 2.6 to 2.9 (Solaris 6 to Solaris 9)

    The default maximum size of a shared memory segment is too low for
PostgreSQL. The relevant settings can be changed in /etc/system, for
example:

    set shmsys:shminfo_shmmax=0x2000000
    set shmsys:shminfo_shmmin=1
    set shmsys:shminfo_shmmni=256
    set shmsys:shminfo_shmseg=256

    set semsys:seminfo_semmap=256
    set semsys:seminfo_semmni=512
    set semsys:seminfo_semmns=512
    set semsys:seminfo_semmsl=32

    You need to reboot for the changes to take effect.

    See also
http://sunsite.uakom.sk/sunworldonline/swol-09-1997/swol-09-insidesolaris.html
for information on shared memory under older versions of Solaris.

Solaris 2.10 (Solaris 10), OpenSolaris and most open-source Solaris
variants (Joyent, Illumos, etc.)

In Solaris 10 and OpenSolaris, the default shared memory and semaphore
settings are good enough for most PostgreSQL applications.  Solaris now
defaults to a SHMMAX of 1/4 of system RAM.  If you need to increase this
in order to set shared memory settings slightly higher, you should use a
project setting associated with the "postgres" user.  For example, run
the following as root:

projadd -c "PostgreSQL DB User" -K
"project.max-shm-memory=(privileged,8GB,deny)" -U postgres -G postgres
user.postgres

This command adds the user.postgres project and raises the shared memory
maximum for the "postgres" user to 8GB, and takes effect the next time
that user logs in, or when you restart PostgreSQL (not reload). The
above assumes that PostgreSQL is run by the postgres user in the
postgres group.  No reboot is required.

Other recommended kernel setting changes for database servers which will
have a large number of connections are:

project.max-shm-ids=(priv,32768,deny)
project.max-sem-ids=(priv,4096,deny)
project.max-msg-ids=(priv,4096,deny)

Additionally, if you are running PostgreSQL inside a zone, you may need
to raise the zone resource usage limits as well.  See "Chapter2:
Projects and Tasks" in the Solaris 10 System Administrator's Guide for
more information on projects and prctl.

===================


-- 
                                  -- Josh Berkus
                                     PostgreSQL Experts Inc.
                                     http://www.pgexperts.com



view thread (12+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected]
  Subject: Re: Change to kernel-resources
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox