diff options
author | Bruce Momjian <bruce@momjian.us> | 2011-03-11 07:53:34 -0500 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2011-03-11 07:53:34 -0500 |
commit | 3896138b7c18c89f57d35fcb85a369d89323e827 (patch) | |
tree | aeaa8d5f2542f3c97cb50bda7f3abc71dca16cdf | |
parent | afaed3add89ffe3df422319c3a76761e186efe30 (diff) | |
download | postgresql-3896138b7c18c89f57d35fcb85a369d89323e827.tar.gz postgresql-3896138b7c18c89f57d35fcb85a369d89323e827.zip |
Update kernel docs for Solaris 10.
Josh Berkus
-rw-r--r-- | doc/src/sgml/runtime.sgml | 65 |
1 files changed, 55 insertions, 10 deletions
diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml index 4a989df4f95..c3692296359 100644 --- a/doc/src/sgml/runtime.sgml +++ b/doc/src/sgml/runtime.sgml @@ -1028,14 +1028,14 @@ sysctl -w kern.sysv.shmall <varlistentry> - <term><systemitem class="osname">Solaris</></term> + <term><systemitem class="osname">Solaris</> 2.6 to 2.9 (Solaris + 6 to Solaris 9)</term> <indexterm><primary>Solaris</><secondary>IPC configuration</></> <listitem> <para> - At least in version 2.6, the default maximum size of a shared - memory segment is too low for <productname>PostgreSQL</>. The - relevant settings can be changed in <filename>/etc/system</>, - for example: + The default maximum size of a shared memory segment is too low for + <productname>PostgreSQL</>. The relevant settings can be changed in + <filename>/etc/system</>, for example: <programlisting> set shmsys:shminfo_shmmax=0x2000000 set shmsys:shminfo_shmmin=1 @@ -1047,14 +1047,59 @@ set semsys:seminfo_semmni=512 set semsys:seminfo_semmns=512 set semsys:seminfo_semmsl=32 </programlisting> - You need to reboot for the changes to take effect. + You need to reboot for the changes to take effect. See also + <ulink url="http://sunsite.uakom.sk/sunworldonline/swol-09-1997/swol-09-insidesolaris.html"></ulink> + for information on shared memory under older versions of Solaris. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><systemitem class="osname">Solaris</> 2.10 (Solaris + 10)</term> + <term><systemitem class="osname">OpenSolaris</></term> + <indexterm><primary>Solaris</><secondary>IPC configuration</></> + <listitem> + <para> + In Solaris 10 and OpenSolaris, the default shared memory and + semaphore settings are good enough for most + <productname>PostgreSQL</> applications. Solaris now defaults + to a <varname>SHMMAX</> of one-quarter of system <acronym>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 <literal>postgres</> user. For example, run the + following as <literal>root</>: +<programlisting> +projadd -c "PostgreSQL DB User" -K "project.max-shm-memory=(privileged,8GB,deny)" -U postgres -G postgres user.postgres +</programlisting> + </para> + + <para> + This command adds the <literal>user.postgres</> project and + raises the shared memory maximum for the <literal>postgres</> + user to 8GB, and takes effect the next time that user logs + in, or when you restart <productname>PostgreSQL</> (not reload). + The above assumes that <productname>PostgreSQL</> is run by + the <literal>postgres</> user in the <literal>postgres</> + group. No server reboot is required. + </para> + + <para> + Other recommended kernel setting changes for database servers which will + have a large number of connections are: +<programlisting> +project.max-shm-ids=(priv,32768,deny) +project.max-sem-ids=(priv,4096,deny) +project.max-msg-ids=(priv,4096,deny) +</programlisting> </para> <para> - See also <ulink - url="http://sunsite.uakom.sk/sunworldonline/swol-09-1997/swol-09-insidesolaris.html"></> - for information on shared memory under - <productname>Solaris</>. + Additionally, if you are running <productname>PostgreSQL</> + inside a zone, you may need to raise the zone resource usage + limits as well. See "Chapter2: Projects and Tasks" in the + <citetitle>Solaris 10 System Administrator's Guide</> for more + information on <literal>projects</> and <command>prctl</>. </para> </listitem> </varlistentry> |