1832973 Members
2590 Online
110048 Solutions
New Discussion

Re: maxdsiz connection

 
brian_31
Super Advisor

maxdsiz connection

Team:

This is about the ulimit command and we know that when you try to increse the value to unlimted it does not allow. But could someone explain why on 2 different boxes (both 11.11) and installed the same way the ulimit reports different values for stack, data and nofiles? since this is new installation for both the boxes what kernel value it refers to when reporting these values?

Now, if i bump up those values then would the ulimit values can be bumped up?

Please Advise

Thanks

Brian
8 REPLIES 8
A. Clay Stephenson
Acclaimed Contributor

Re: maxdsiz connection

maxdsiz refers to the data segment size (ulimit -d); maxssiz refers to the stack segment (ulimit -s); maxfiles determines the soft per-process ulimit for files and maxfiles_lim determines the per-process hard ulimit for files.


The other gotcha is that the SMALLER of maxdsiz and maxdsiz_64bit determines the ulimit value. Normally, the _64bit values is always larger than its 32-bit counterpart but ...

The same rule also applies to maxssiz and its 64-bit cousin.
If it ain't broke, I can fix that.
Mel Burslan
Honored Contributor

Re: maxdsiz connection

maxdsize is directly related to your physical memory size and if the amount of physical memory is different, that can explain why the maxdsize parameters are different.
________________________________
UNIX because I majored in cryptology...
A. Clay Stephenson
Acclaimed Contributor

Re: maxdsiz connection

Maxdsiz really has nothing to do with physical memory; UNIX is a virtual memory machine so that maxdsiz can be MUCH larger than physical memory. It may not be wise but it can be done. These limits apply on a per-process basis and are intended to prevent a process from grabbing all the resources on a system. Of course, they can only do so much because while one process not be able to eat all the slop in the trough, a few hogs will suffice to do the same thing.
If it ain't broke, I can fix that.
brian_31
Super Advisor

Re: maxdsiz connection

Clay:
If i try to increase ulimit -d it does not allow, however if i change it to 2000 and then come back and set to 2015464 it is accepted. so looks like 2015464 is the absolute maximum. My question is where does it get this value? is it the default value of maxdsiz_32? similarly for stack(maxssiz_32) and nofiles

kmtune|grep maxdsiz
maxdsiz 2063835136 - 2063835136
maxdsiz_64bit 4294967296 - 4294967296
# ulimit -a
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) 2015464
stack(kbytes) 8192
memory(kbytes) unlimited
coredump(blocks) 419403
nofiles(descriptors) 1024

Thanks

Brian

Don Morris_1
Honored Contributor

Re: maxdsiz connection

ulimit reports in Kb, maxdsiz{_64bit} is in bytes. 2015464 * 1024 = 2063835136, so ulimit is entirely correct.

That's not the default for maxdsiz (the default is 256Mb), so someone (or something in the Install process given that there are Environment tunable settings) set this value.
A. Clay Stephenson
Acclaimed Contributor

Re: maxdsiz connection

Your numbers are perfectly consistant. Note that maxdsiz is specfied in bytes and ulimit in KBi. If you divide maxdsiz by 1024, I think you will see an amazing coincidence. Maxdsiz sets the hard ulimit value for the data segment.
If it ain't broke, I can fix that.
A. Clay Stephenson
Acclaimed Contributor

Re: maxdsiz connection

Ooops, I should have said that ulimit displays KiB rather than KBi; I tried to get used to the new prefixes but old habits die hard.
If it ain't broke, I can fix that.
brian_31
Super Advisor

Re: maxdsiz connection

Thank you

Brian