1752672 Members
6150 Online
108789 Solutions
New Discussion юеВ

MAXSSIZ

 
SOLVED
Go to solution
Nobody's Hero
Valued Contributor

MAXSSIZ

I need to increase 'maxssiz' kern parm on an NClass with 32GB Mem. Box is running Oracle, and PeopleSoft with a lot of batch processing. Can someone reccommend a good setting for this parm. Currently maxssiz is set @ 8388608, 8.3 mb.

Thanks,
Bob
UNIX IS GOOD
9 REPLIES 9
fg_1
Trusted Contributor
Solution

Re: MAXSSIZ

Robert

Set it for 67108864. This is the value that we use on a V2600 running Lawson Financials and Oracle 8.16 (8I). Memory on the box is 12GB. We have had zero performance problems since we switched from the default value for this parameter.

Also be aware that you should also be aware of the maxdsiz or maxdsiz_64bit parameters depending on whether or not your running 32 bit or 64 bit processors.

Good luck

FG.
Don Morris_1
Honored Contributor

Re: MAXSSIZ

I can't predict what value will be good for you, other than to ask that you look at what's breaking the limit now (source level) if at all possible. For example, if the app dying with a sigsegv on stack growth now is trying to statically allocate a 16Mb array - go for 24Mb.

Since it's pretty doubtful you have that level of information - look at it from the other direction. The only negative effect from raising maxssiz is that you lose that amount of memory from the amount available for heap. (Stack starts maxssiz above the q2/q3 boundary, and grows toward higher addresses). Assuming it's not Oracle dying - that would be my first guess towards 'Most likely to be eating all it's heap' - take a look at it's heap size in glance (if you have it) or in top (though top is going to be a really rough approximation). You should be able to raise maxssiz to 1Gb - max(RES), where max(RES) is the largest RES you see in top. RES contains more than just heap, but heap tends to be the largest part.

Anyway -- sorry I can't give you more info than that, there's just no good formula. Hope this helps -- and I'd really appreciate it if you can get back (either by posting, or just mail me at don_morris@hp.com) to me with what value ended up working for you. Tunable defaults are always under discussion - and another data point helps.

Don
G. Vrijhoeven
Honored Contributor

Re: MAXSSIZ

Hi,

i looked into Oracle (8i) config guide and i could not find any information or MAXSSIZ specs. i found this on the HP site:

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

PS. You have the default value configured now.

Why must you alter the value, give more info please.

Gideon
S.K. Chan
Honored Contributor

Re: MAXSSIZ

For eg on 11.0 , the range for maxssiz ..

Minimum: 0x4000 (16 Kbytes)
Maximum: 0x17F00000 (about 200 Mbytes)
Default: 0x800000 (8 Mbytes)

I would start by doubling what you have right now.
A. Clay Stephenson
Acclaimed Contributor

Re: MAXSSIZ

Hi:

Let me tell you what this does and then you can decide. First of all, maxssiz (or it's 64-bit equivalent maxssiz_64bit) consume no resources so you might be tempted to just blow it up to some really large value and forget about it. That's not a good idea because it's job is to keep all the horses in the corral. The parameter limits the maximum size of a programs stack. This is the area where essentially temporary variables are declared.
A dumb programmer will declare a local 32MB or 64MB array and if your stack is set to 8MB, your program dies. The smart programmer will ,instead. declare a dynamic array and allocate the memory. The dynamic memory is limited by maxdsiz and it is generally much larger than maxssiz. The other thing that a reasonable maxssiz prevents is runaway recursion; i.e. a function calling itself (or a pair or mutually recursive functions) over and over, each time declaring some local variables until eventually the stack is exhausted. The reason for these fence settings is to prevent any one process from grabbing all the memory and bring the box to its knees.

I consider a reasonable setting for maxssiz to be no more than 64MB. Whenever a software vendor requests a very large stack size, I politely ask to speak to their cheif developer and have him explain why their code is written this way.

Food for thought, Clay

If it ain't broke, I can fix that.
Nobody's Hero
Valued Contributor

Re: MAXSSIZ

To Vrijhoeven,
More detail? When I try to install Oracle 8.1.6, it abends with a core.

core: file from `more` - received SIGSEGV

My guess is somewhere within the install it does a 'more' on a large file and the system can't handle it. I tested it by doing a more or cat on a large file and got the same core dump.
UNIX IS GOOD
S.K. Chan
Honored Contributor

Re: MAXSSIZ

There is another reason why more command is core dumping on you (apart from increasing the kernel parameter). You might want to try this .. I've had a more command dump core on me before on an 11.0 system a while back and increasing maxssiz does not help, we ended up using 10.20 version of more command as a temporary workaround. So ftp "more" from another 10.20 system and try running it on your system (I'm only assuming you're on 11.0) just to make sure you do not have the same bug as I did.
S.K. Chan
Honored Contributor

Re: MAXSSIZ

Of course put the 10.20 "more" command somewhere else, not to overwrite what you got on your 11.0 box.
G. Vrijhoeven
Honored Contributor

Re: MAXSSIZ