On the "Big Sur" release of MacOS (OSx v11.x), the increased security means shared memory configuration, as required for large GemStone installations, has become more restrictive. Setting values in /etc/sysctl.conf is no longer effective.
As root, you can manually change the shared memory parameters using /usr/sbin/sysctl; however, changes made in this way are lost on reboot.
To upgrade the configurations permanently, you must set the configuration values in an XML-formatted file with the path and name:
/Library/LaunchDaemons/com.gemtalksystems.shared-memory.plist
You will need to reboot, for the settings to take effect.
On some version of macOS, you may need to run plist manually after reboot in order for the settings to take effect.
An example plist file for a host with 8 GB of RAM is available at com.gemtalksystems.shared-memory.plist, with the contents below; edit the settings as appropriate for your machine RAM and GemStone configuration.
<?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>shmemsetup</string> <key>UserName</key> <string>root</string> <key>GroupName</key> <string>wheel</string> <key>ProgramArguments</key> <array> <string>/usr/sbin/sysctl</string> <string>kern.sysv.shmmax=6442450944</string> <string>kern.sysv.shmall=1572864</string> </array> <key>KeepAlive</key> <false/> <key>RunAtLoad</key> <true/> </dict> </plist>
Last updated: 7/15/24