man sysctl.conf
You will probably not end up happy setting it to 2G, unless your application is 64 bit and makes multiple segments adjacent to each other, rather than 1 big segment, or you refuge the page 0 size to 4K in your 64 bit app so that allocations can happen below the 4G boundary. 32 bit apps are only going to find about 1.5G of contiguous address space available to them because of frame buffers, framewoks, etc..
PS: My usual recommendation at this point is that you mmap() a file instead to get your shared memory, if you need to avoid these limits. This has the (usually desirable) side effect of creating persistent backing store for the segment contents, as well.
-- Terry On Jan 3, 2008, at 6:31 PM, Norm Green < email@hidden> wrote:
What is the “right” way to run a sysctl command
when the system boots up? I’ve read that using the /etc/rc.* files is
discouraged. I want to run this command to enable large amounts of shared
memory when the system boots:
sysctl -w kern.sysv.shmmax=0x80000000 kern.sysv.shmseg=8
kern.sysv.shmall=0x80000000
Thanks,
Norm Green
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
|