kern/77353: grow SysV IPC kernel limits

Robert Millan rmh at
Thu Feb 10 09:50:17 PST 2005

>Number:         77353
>Category:       kern
>Synopsis:       grow SysV IPC kernel limits
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Feb 10 17:50:14 GMT 2005
>Originator:     Robert Millan
>Release:        GNU/kFreeBSD 5.3-3 i686
System: GNU/kFreeBSD aragorn 5.3-3 #0: Thu Feb 10 15:39:57 CET 2005 i686 GNU/KFreeBSD

postgresql documentation encourages to grow SysV IPC limits on *BSD systems.

I have verified that the GENERIC limits on SysV IPC are too low to be able to
run postgresql.  Please adjust them as the documentation recommends:

    The options SYSVSHM and SYSVSEM need to be enabled when the kernel is compil
ed. (They are by default.) The maximum size of shared memory is determined by th
e option SHMMAXPGS (in pages). The following shows an example of how to set the
various parameters:

options         SYSVSHM
options         SHMMAXPGS=4096
options         SHMSEG=256

options         SYSVSEM
options         SEMMNI=256
options         SEMMNS=512
options         SEMMNU=256
options         SEMMAP=256

    (On NetBSD and OpenBSD the key word is actually option singular.)

    You might also want to configure your kernel to lock shared memory into RAM
and prevent it from being paged out to swap. Use the sysctl setting kern.ipc.shm


--- src/sys/i386/conf/GENERIC~  2005-02-01 21:44:25.000000000 +0100
+++ src/sys/i386/conf/GENERIC   2005-02-01 21:47:12.000000000 +0100
@@ -49,8 +49,14 @@
 options        SCSI_DELAY=15000        # Delay (in ms) before probing SCSI
 options        KTRACE                  # ktrace(1) support
 options        SYSVSHM                 # SYSV-style shared memory
+options         SHMMAXPGS=4096
+options         SHMSEG=256
 options        SYSVMSG                 # SYSV-style message queues
 options        SYSVSEM                 # SYSV-style semaphores
+options         SEMMNI=256
+options         SEMMNS=512
+options         SEMMNU=256
+options         SEMMAP=256
 options        _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extension
 options        KBD_INSTALL_CDEV        # install a CDEV entry in /dev
 options        AHC_REG_PRETTY_PRINT    # Print register bitfields in debug

More information about the freebsd-bugs mailing list