Simpler Navigation for Servers and Operating Systems
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.
General
cancel
Showing results for 
Search instead for 
Did you mean: 

memory management + swap + /usr/lib/dld.sl --not enough space

manu_5
Frequent Advisor

memory management + swap + /usr/lib/dld.sl --not enough space

Hi,
I very often get /usr/lib/dld.sl error on HP 11 i machine , have 8 gb of Physical RAM,8 GB SWAP and follwoing kernel params
maxdsiz 0XFFFFF000
maxdsiz_64bit 0X39999999999
maxfiles 4000
maxfiles_lim 4000
maxssiz 0X4D00000
maxssiz_64bit 0X4D00000
maxswapchunks 8193
maxtsiz 0X4000000
maxtsiz_64bit 0X40000000
maxuprc 4096
maxusers 128
nproc (20+32*MAXUSERS)
nstrpty 60
semmni 1024
semmns 2048
semmnu 1024
shmmni 1024
shmmax 0X1A13B8600
semmsl 4100
swapmem_on 1

The loas on the machine is of databases and weblogic .Any clues what i can monotor and let me know any link to manage the memory,swap etc
14 REPLIES
Pete Randall
Outstanding Contributor

Re: memory management + swap + /usr/lib/dld.sl --not enough space

You need to look at swapinfo. Run "swapinfo -tm" periodically and whenever you're having performance issues. This will tell you your memory and swap utilization.


Pete



Pete
Michael Steele_2
Honored Contributor

Re: memory management + swap + /usr/lib/dld.sl --not enough space

Could you post the complete errors? Sometimes this is an indication of something other then lack of memory. But it could also be kernel parameters like npty or nfile. But the exact error will pin it down.
Support Fatherhood - Stop Family Law
T G Manikandan
Honored Contributor

Re: memory management + swap + /usr/lib/dld.sl --not enough space

The error is due to
1.Amount of memory and swap available.
If you have 80% used.
What is the value of dbc_max_pct on your kernel.
If it is 50% of memory bring it down.The value depends the amount of RAM on the server.
Make sure that you keep it to around 300MB.

The buffer cache half the memory is too high.

check the individual process usage using
UNIX95= ps -e -o ruser,pid,vsz=Kbytes

to check the process usage by each process.
How is the usage of the swap on the machine
Just do a
swapinfo -ta

you can use glance to monitor the process which is throwing out the error.

2.If the amount of memory used is less and there is quite amount of free memory available then

You have to increase your kernel parameters like
These paramters define the upper limit for a process.
They have default values like 8MB.

maxdsiz
maxdiz_64
maxssiz
maxssiz_64
maxtsiz
maxtsiz_64
ALso make sure that you check these values.

Revert with the amount of swap utilization
manu_5
Frequent Advisor

Re: memory management + swap + /usr/lib/dld.sl --not enough space

Hi TZ Manikandan

UNIX95= ps -e -o ruser,pid,vsz=Kbytes

What is vsz param indicates.
Yogeeraj_1
Honored Contributor

Re: memory management + swap + /usr/lib/dld.sl --not enough space

hi,
[TG - please allow me answer this one! thanks]

from man ps

vsz is for:
The size in kilobytes (1024 byte units) of the core image of the process.

where sz:
The size in physical pages of the core image of the process, including text, data, and stack space. Physical page size is defined by _SC_PAGE_SIZE in the header file

hth
yogeeraj
No person was ever honoured for what he received. Honour has been the reward for what he gave (clavin coolidge)
Bill Hassell
Honored Contributor

Re: memory management + swap + /usr/lib/dld.sl --not enough space

As mentioned, out of space can be related to virtual memory (RAM + swap) but by far the most common reason is the very low setting for maxdsiz. Change this value in the kernel to 500 or 900, rebuild the kernel and reboot (all can be done in SAM). The out of space is not clear enough to specify the issue is a kernel limit and not a memory limit.


Bill Hassell, sysadmin
manu_5
Frequent Advisor

Re: memory management + swap + /usr/lib/dld.sl --not enough space

Hi,
Please clarify the my following doubts.

1)i have two device swaps of 4000 and 4096 kb each and are on priority 1 and 0 respectively.When I try change priority of both swaps to 1 through SAM ,it does that but again the swapinfo -atm command it is the the same as before.Do i need to reboot.??

2)what is the order in which paging will happen .As per the man page it says the memory will be paged at last and device sawp will be paged first .But if see swapinfo in my case ..it says on memory being used not the device swap...

Mb Mb Mb PCT START/ Mb
TYPE AVAIL USED FREE USED LIMIT RESERVE PRI NAME
dev 4096 0 4096 0% 0 - 1 /dev/vg00/lvol2
dev 4000 0 4000 0% 0 - 0 /dev/vg00/lvolswap
reserve - 2262 -2262
memory 6548 1214 5334 19%
total 14644 3476 11168 24% - 0 -


Plus the error /usr/lib/dld.sl --not enough space whenever i try to run SAM , or any java application.This often comes

Pete Randall
Outstanding Contributor

Re: memory management + swap + /usr/lib/dld.sl --not enough space

Manu,

I wouldn't worry about swap priority as you're not using any swap: it's at 0% utilization. That's good!


Pete


Pete
A. Clay Stephenson
Acclaimed Contributor

Re: memory management + swap + /usr/lib/dld.sl --not enough space

You need to understand the pseudoswap (memory) is NEVER actually used for swap. It is simply a kernel bookeeping device that allows systems to run with less swap than physical memory --- and still be able to use all the memory. Without it, the system wqould only allow processes to grow up to the total of device swap eventhough the system is never swapping.

In your case, /dev/vg00/lvolswap at priority 0 is used completely before lvol2 (at priority 1) is used at all.

If these two LVOLS are on the same physical disk then you should leave the swap priorities as they are; if they are on diffrent physical devices then you can edit /etc/fstab and change the priority of the secondary swap to 1 and reboot. The swap will then be interleaved between the two areas -- I wouldn't bother because when you need to worry about this you are already performing so poorly that it hardly matters.

As has been said, it appears that your REAL problem is maxdsiz.
If it ain't broke, I can fix that.
manu_5
Frequent Advisor

Re: memory management + swap + /usr/lib/dld.sl --not enough space

Thats the case for now ...but i want to know about the paging process priorities and which type it will take first.
manu_5
Frequent Advisor

Re: memory management + swap + /usr/lib/dld.sl --not enough space

maxdsiz 0XFFFFF000

this is my maxdisiz and physical ram is 8gb.
keith persons
Valued Contributor

Re: memory management + swap + /usr/lib/dld.sl --not enough space

Manu,

1) yes, you will need to reboot for the priority of swap to change as displayed by swapinfo. This is required because there is no real method to unmount the swap device while it is active. After reboot a new device swap table entry will generated and the new priority schema should be reflected in swapinfo output.

2) The simple answer is, when psuedo-swap is active, the swap algorithm as used by the kernel will 'allocate' from memory first to reduce/eliminate the need for any IO requests. It's easiest to think of psuedo-swap as essentially a counter, nothing more.

If memory consumption does actually require pages be physically paged or processes swapped, this will actually occur on the lowest priority swap device first and psuedo-swap previously 'allocated' to the page/process will be reduced by that approximate amount and the device swap usage will increase accordingly.

Hope this clears up any confusion.

Keith
Sridhar Bhaskarla
Honored Contributor

Re: memory management + swap + /usr/lib/dld.sl --not enough space

Hi Manu,

Did you get a chance to capture the error?. Often these errors could be misleading. Not enough space can also be associated with nfile or nproc/maxuprc kernel limitations. Look at your kernel parameters like nfile, maxuprc and nproc. sar -v can give you info on nfile and nproc. Look at the "ov" parameter. If it is greater than 0, then those parameters did overflew.

The subtle parameter is "maxuprc". This is per user basis. If some users get the errors and other s won't then this could be a culprit. Do a "ps -ef|grep user|grep -v grep|wc -l" and compare it with your maxuprc parameter. If it is close, then there is a good chance you will need to increase it.

-Sri
You may be disappointed if you fail, but you are doomed if you don't try
Bill Hassell
Honored Contributor

Re: memory management + swap + /usr/lib/dld.sl --not enough space

Your maxdsiz of maxdsiz 0XFFFFF000 is too large. From SAM:

The value specified for tunable parameter "maxdsiz", "0XFFFFF000", evaluates to "4294963200" which is more than the maximum allowed value of "2063835136".

Now this is not a problem as such. 32bit programs by default cannot address more than 960 megs (or up to about 1750 megs with special compiler options). And with even more restricted options, a 32bit program might get access to a bit under 3Gb.

So you need to identify the program(s) that are getting the out-of-memory error message and see if the problems are due to 32bit limitations. Have your programmers take a look at the Memory Management and Process Management white papers from the HP website (docs.hp.com) to understand the extreme limitations of 32bit programs.


Bill Hassell, sysadmin