Re: Change to kernel-resources - Mailing list pgsql-docs
From | Bruce Momjian |
---|---|
Subject | Re: Change to kernel-resources |
Date | |
Msg-id | 201103111254.p2BCsHx20456@momjian.us Whole thread Raw |
In response to | Re: Change to kernel-resources (Robert Haas <robertmhaas@gmail.com>) |
List | pgsql-docs |
Robert Haas wrote: > On Wed, Mar 2, 2011 at 2:46 PM, Josh Berkus <josh@agliodbs.com> wrote: > > On 3/2/11 8:35 AM, Robert Haas wrote: > >> On Mon, Feb 7, 2011 at 1:47 PM, Josh Berkus <josh@agliodbs.com> wrote: > >>> 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: > >> > >> What should we do with this material? > > > > Hmmm. ?I think there are probably still people using Solaris 9 out > > there, but not very many. > > > > Maybe we should move obscure OSes to the wiki, and have a link to the > > wiki in the docs? > > I've got no problem putting it in the docs; in fact, I'd prefer it. > But it'd be a lot easier to put it there if this were in the form of a > patch. I did the markup and applied the attached doc patch. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. + diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml new file mode 100644 index 4a989df..c369229 *** a/doc/src/sgml/runtime.sgml --- b/doc/src/sgml/runtime.sgml *************** sysctl -w kern.sysv.shmall *** 1028,1041 **** <varlistentry> ! <term><systemitem class="osname">Solaris</></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: <programlisting> set shmsys:shminfo_shmmax=0x2000000 set shmsys:shminfo_shmmin=1 --- 1028,1041 ---- <varlistentry> ! <term><systemitem class="osname">Solaris</> 2.6 to 2.9 (Solaris ! 6 to Solaris 9)</term> <indexterm><primary>Solaris</><secondary>IPC configuration</></> <listitem> <para> ! 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 *************** set semsys:seminfo_semmni=512 *** 1047,1060 **** set semsys:seminfo_semmns=512 set semsys:seminfo_semmsl=32 </programlisting> ! You need to reboot for the changes to take effect. </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</>. </para> </listitem> </varlistentry> --- 1047,1105 ---- set semsys:seminfo_semmns=512 set semsys:seminfo_semmsl=32 </programlisting> ! 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> ! 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>
pgsql-docs by date: