1820478 Members
2977 Online
109624 Solutions
New Discussion юеВ

Re: maxtsiz

 
dhanish
Regular Advisor

maxtsiz

i am geting the follwoing error ..when i say java -version

/usr/lib/dld.sl: Call to mmap() failed - TEXT /opt/java1.3/bin/../jre/lib/PA_RIS
C2.0/server/libjvm.sl
/usr/lib/dld.sl: Not enough space

any clues ????
Never Say Die
7 REPLIES 7
Stefan Farrelly
Honored Contributor

Re: maxtsiz


youre right, its probably a kernel parameter. More likely maxdsiz (or maxdsiz_64bit if your system is running 64bit OS). I would increase all these 3 to be safe;

maxtsiz
maxssiz
maxdsiz

and reboot and retry.
Im from Palmerston North, New Zealand, but somehow ended up in London...
T G Manikandan
Honored Contributor

Re: maxtsiz

I probably assume that there is a shortage of memory on the machine.

Try stopping the processes which are not required and try running it again.

you can use
UNIX95= ps -e -o ruser,pid,vsz=Kbytes|more

to find out the memory usage of each process.

Even you can try increasing your swap space.

Also check you have enough values for

maxdsiz
parameter

dhanish
Regular Advisor

Re: maxtsiz

Hi , is there any command to find out the usage of these parameters in OS.

thnks
Never Say Die
steven Burgess_2
Honored Contributor

Re: maxtsiz

Hi

To get your current values (depending on OS)

sysdef | grep maxtsiz
kmtune | grep maxtsiz

glance -t

will show current running values, though can't remember whever maxt values are shown.Don't think they are

HTH

Steve
take your time and think things through
dhanish
Regular Advisor

Re: maxtsiz

hi,
i am referring to the comands ...sar or vmstat or iostat...can i see text segment usage ..with any of these commands
Never Say Die
Bill Hassell
Honored Contributor

Re: maxtsiz

sar -v 1
will show you nproc and nfile. However, you don't have a problem with maxtsiz unless your program has several MILLION lines of code. maxtsiz is the maximum size of the text area, the quadrant containing unchanging instructions and this area is closely proportional to the number of lines of real code (or more accurately, the number of instructions generated by the compiler).

The default for maxtsiz is 64 megs which is good for all but massively large programs. Now maxdsiz is likely the problem. It is the data area size and the default (64 megs) is way too low for today's big programs. Change the kernel parameter maxdsiz to about 500-900 megs. The value is unimportant as maxdsiz is just a fence to protect from bad programs using up lots of RAM. The above error message indicates that a shared library (the .sl file) doesn't have enough room to be loaded or run.

You could set it to the max for standard 32bit programs (940 megs) and then impose a soft limit on each user in /etc/profile by specifying:

ulimit -Sd 100000

which means everyone is limited to 100megs of data area maximum, but by putting:

ulimit -Sc 300000

in a startup script or in .profile, the subsequent processes can grow to 300 megs.

Another likely problem with the above error message is that you are out of swap space. Use swapinfo -tm to see what the device swap looks like. If it is a high percentage (>80%) then you can add more swap but you're probably have less than 1/3 of the required RAM to provide reasonable performance. Use vmstat to determine the po (Page Out) rate when the system is busy. Anything larger than a single digit indicates lack of RAM and therefore, very slow execution speeds.


Bill Hassell, sysadmin
dhanish
Regular Advisor

Re: maxtsiz

Hi,
I see the cpu usage of 100 % in the machine. ..is that can be the reason ..??
...........................................
Bill you wrote ....

The above error message indicates that a shared library (the .sl file) doesn't have enough room to be loaded or run.

You could set it to the max for standard 32bit programs (940 megs) and then impose a soft limit on each user in /etc/profile by specifying

ulimit -Sd 100000

which means everyone is limited to 100megs of data area maximum, but by putting:

ulimit -Sc 300000

...............................................

so to provide enough room for the did.sl to run , i should specify
ulimit -Sd 100000 ...is it correct ??
Never Say Die