3 Replies Latest reply: Mar 14, 2011 2:03 PM by Linc Davis
dev.apple Level 1 Level 1 (0 points)
Hello Folks,

I want to install the PostgreSQL 9.0 on my MAC OS X 10.6.7
now the basic requirement for the installation is that the shared memory is

kern.sysv.shmmax=1610612736
kern.sysv.shmall=393216
kern.sysv.shmmin=1
kern.sysv.shmmni=32
kern.sysv.shmseg=8
kern.maxprocperuid=512
kern.maxproc=2048

Now tried changing these parameter by editing the /etc/sysctl.conf file
but the issue is when I reboot the kern.sysv.shmmax values is not the same.

How can I set the kern.sysv.shmmax value once and for all?

MacBook Pro, Mac OS X (10.6.6)
  • Linc Davis Level 10 Level 10 (169,120 points)
    Others have reported that sysctl.conf is ignored, even though the man page (last updated in 2007) says it shouldn't be. Without delving into the Darwin source code, I can't confirm it one way or the other. You could set the kernel parameters in a launchd item that runs at startup. That definitely does work.
  • dev.apple Level 1 Level 1 (0 points)
    Please let me know how to do that ?
  • Linc Davis Level 10 Level 10 (169,120 points)
    sudo -s
    cat > /Library/LaunchDaemons/sysctl.plist << EOF
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>Label</key>
    <string>sysctl</string>
    <key>ProgramArguments</key>
    <array>
    <string>/usr/sbin/sysctl</string>
    <string>-w</string>
    <string>kern.sysv.shmmax=1610612736</string>
    <string>kern.sysv.shmall=393216</string>
    <string>kern.sysv.shmmin=1</string>
    <string>kern.sysv.shmmni=32</string>
    <string>kern.sysv.shmseg=8</string>
    <string>kern.maxprocperuid=512</string>
    <string>kern.maxproc=2048</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    </dict>
    </plist>
    EOF
    launchctl load /Library/LaunchDaemons/sysctl.plist