Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: calling sysctl at startup - how?



Thanks, sysctl.conf did the job.

 

The app is 64-bit and I use 1 large shared memory segment because it needs to be contiguous. 

 

BTW, I’ve had some trouble when my program detaches and attaches an existing memory segment several times.  After the 3rd or 4th call to shmat(), it starts to fail using an address that previously succeeded.  I usually need to specify the address because my app needs it to be 16 KB aligned and shmat() seems to return 4 KB aligned addresses.  To get around this, I keep rolling the address forward by 16 KB until I find one that works.

 

Norm Green

 


From: Terry Lambert [mailto:email@hidden]
Sent: Thursday, January 03, 2008 8:49 PM
To: Norm Green
Cc: email@hidden
Subject: Re: calling sysctl at startup - how?

 

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:
http://lists.apple.com/mailman/options/darwin-dev/email@hidden

This email sent to email@hidden

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/darwin-dev/email@hidden

This email sent to email@hidden



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.