Simpler Navigation for Servers and Operating Systems - Please Update Your Bookmarks
Completed: a much simpler Servers and Operating Systems section of the Community. We combined many of the older boards, so you won't have to click through so many levels to get at the information you need. Check the consolidated boards here as many sub-forums are now single boards.
If you have bookmarked forums or discussion boards in Servers and Operating Systems, we suggest you check and update them as needed.
cancel
Showing results for 
Search instead for 
Did you mean: 

SHMMAX

SOLVED
Go to solution
Unix Admin_2
Occasional Visitor

SHMMAX

Environment: N class machine with 4G of physical memory and 2x36G internal disks, swap is 4G, OS HP-UX 11.0, Sybase Server.

DBA asked to have shmmax as 3.5G
HP docs say: max value for shmmax is 1792M. This limit can be disable by setting the shmmax to 1fffffff and OS imposes its own hard limit for share memory.

I did not use this before, so I would like to know what is this "own hard limit"? Is it 4G or less?
Is OS going to run ok? Is HP supporting that?
Is any impact in performance?

Your opinion will be appreciate.
Thank you.
13 REPLIES
Patrick Wallek
Honored Contributor

Re: SHMMAX

You should have no problem setting shmmax to 3.5G on your system. Have a look at this web page:

http://docs.hp.com/hpux/onlinedocs/os/KCparam.ShMmax.html

It shows the max value for HP-UX 11.0 64 bit to be 1 TERABYTE! It also says that the value can not exceed the max. available swap space. Since you've got 4G of swap, the 3.5G shmmax should work fine.
Helen French
Honored Contributor

Re: SHMMAX

Hi,

The Max. value of shmmax in 64bit systems is 1 Tbyte !

See this:

http://www.docs.hp.com/cgi-bin/otsearch/getfile?id=/hpux/onlinedocs/os/KCparam.ShMmax.html&searchterms=SHMMAX&queryid=20020110-192344

HTH,
Shiju

Life is a promise, fulfill it!
Sanjay_6
Honored Contributor

Re: SHMMAX

hi,

The limit is 4TB on a 64 bit OS. Take a look at the thread below,

http://us-support.external.hp.com/cki/bin/doc.pl/sid=b2f5300d13b4d5d909/screen=ckiDisplayDocument?docId=200000047272187

Hope this helps.

Regds
Helen French
Honored Contributor
Unix Admin_2
Occasional Visitor

Re: SHMMAX

Thank you to all. I will assign points later, so far I???m a bit confused. The link indicated by Shiju Wilson said: ???By setting shmmax to the maximum allowed value (0x10000000000), you risk having a process erroneously try to allocate a huge segment and consume all available swap space, only to be denied the request.Another possible problem is that legitimate requests for swap could be denied while the shmget() was processed. This problem is similar to setting maxuprc to a fraction of nproc. If an application erroneously and continuously forks, it should not be allowed to consume the all process table slots.??? ?????

More than that: I went and changed shmmax to 0xA0000000 ~ 2684354560 (aprox 2.6G) and the DBA said he can allocate to Sybase just 1.6G.

kmtune report shmmax=0xA0000000. ??????
Ruediger Noack
Valued Contributor

Re: SHMMAX

I think for 3.5GB shared memory 4GB physical memory is not much! You have to increase it.
Additional you should increase the swap to minimum 2 times of physical memory.

Ruediger
Steven Gillard_2
Honored Contributor

Re: SHMMAX

32bit applications are still constrained to the ~1.6Gig limit even if shmmax is set higher. If you want to use >1.6Gig you will need to install a 64bit version of Sybase.

Regards,
Steve
Unix Admin_2
Occasional Visitor

Re: SHMMAX

First of all, thank you to all of you. Patrick and Ruediger, can you, please reply one more time to this post I owe you some points.

Sorry for my ignorance. Can anyone tell me how to check if Sybase???s version if is 32 or 64 bits?
Runing a strings command on dataserver and grep for Adaptive
#strings dataserver | grep Adaptive
come back with
???Adaptive Server Enterprise/11.9.2.5/1227/P/SWR 9619 ROLLUP/HP9000-735/HP-UX 10.2/FBO Tue Jun12 08:50:09 2001???
guess HP-UX 10.2 is coming from HP-UX 10.20 that is 32 bits but not sure.

1.Is any other way to check Sybase version?
2.Can you please, re-confirm what is the max share memory that Sybase can use it?

Many thanks,
A.
Patrick Wallek
Honored Contributor

Re: SHMMAX

It appears as if your version of Sybase is 32-bit since it mentions 10.20 in your strings output.

To verify, you'd have to find the install media. If it doesn't specify that it is 64-bit, then it probably isn't.

A 32-bit application can typically only handle slightly less than 1.75 GB of shared memory.

Good luck.
Unix Admin_2
Occasional Visitor

Re: SHMMAX

I have the cdrom in my hand. Doesn't specify the 32 or 64 bits on it... (I know Oracle does). I'm wonder if Sybase has in one cd both 32 and 64 bits... or is it possible to have the same software for both platforms? I'm confused and I know nothing about Sybase. I went on Sybase web site and still not able to get an answer...
Helen French
Honored Contributor

Re: SHMMAX

Unix Admin_2
Occasional Visitor

Re: SHMMAX

The link to Sybase site is not working.
The last question that I have is: Sybase ver. 11.9.2.5 is 64 bits or 32 bits? Navigating on Sybase web site I could learn just that 11.9.3 is 64 bits. Nothing mentioned about 32 or 64 bits in 11.9.2, no info about the version that runs here:11.9.2.5.
Dennis J Robinson
Frequent Advisor

Re: SHMMAX

shmmax is simply the maximum size of a SINGLE shared memory segment.
shmmni is the number of shared memory identifiers
shmseg is maximum amount of shared memory segments a single process can attach.

Max amount of shared memory in use on a HP-UX server is = shmmax*shmmni.

If you have mixed 32bit/64bit database setup, the only answer for shmmax is 0x40000000

The reason is this. 32bit app due to HP-UX memory architecture can only allocate out of the 1GB segments. Hence largest shared memory segment on 32bit is limited to 1GB. However an instance can allocate more than the size limited by the size of a single segment by allocated multiple segments.

If shmmax is larger than 0x40000000 and 32 bit Oracle has its buffers set to over 1GB, at least in up to version 8.0.5 oracle you will fail on shmat() with HP-UX error 12 ENOMEM. Solution is to set shmmax to 0x40000000 or have oracle ask for less memory.

Up to Oracle versions 8.0.5 (and 8.0.6) Oracle instance can only allocate 2 segments.

On 8i and above I have seen dozens of segments allocated.

The answer that works for all is 0x40000000...

Good luck.
You know the drill