System Administration
Showing results for 
Search instead for 
Did you mean: 

Problems with SAM and shared memory

Florin Lascau
Occasional Advisor

Problems with SAM and shared memory


Since I installed Progress RDBS on the HP-UX 11.23 server I'm getting this kind of errors when trying to start SAM while the Progress databases are up:

sam: FATAL ERROR: Unable to load library "/usr/obam/lib/libIDMawrt.1": Not enough space


/usr/lib/ Call to mmap() failed - TEXT //usr/obam/lib/libobam.1
/usr/lib/ Not enough space
/usr/sbin/sam[220]: 4826 Abort(coredump).

As I could read on other threads it seems that this is related to the shared memory as long as the database servers are using it.

Yet, when using swapinfo it looks like I have enough memory as long as only 25% of the total is used.
I tried to change some kernel parameters but with no favorable result.
Any advice would be apreciated.


James R. Ferguson
Acclaimed Contributor

Re: Problems with SAM and shared memory


You should look at both 'maxdsiz' (or 'maxdsiz_64bit' if the database is a 64-bit one) as well as the amount of swap space you have configured.

Swap space is required at least during process instantiation for reservation purposes. While a process may never actually use swap space, the kernel demands that enough exist in the event that process data needs to be swapped (paged).


Don Morris_1
Honored Contributor

Re: Problems with SAM and shared memory

The failure is telling you that there is not enough shared address space left in the Global areas to load the shared library. (I'll assume said library is 32-bit). This is not the same as virtual memory (swap) or real memory (RAM) -- it is virtual address space of a particular range which is shared across the system.

The Memory Windows white paper gives a reasonable overview of this though it was written for 11.0 [the concepts of the different address space layouts are still good]. If you're on IPF, the Adaptive Address Space white paper is what you want to read:

Barring being able to either run 64-bit Progress (which doesn't use IPC_SHARE32/MAP_ADDR32 or you're no better off) or using Memory Windows or MPAS to shift SAM or Progress to a different shared area, the only other solution I could think of here would be to run SAM first (and not close it) such that you consume the address space in advance [preventing the Progress DBs from consuming it] or reduce the database shared address space consumption.

Re: Problems with SAM and shared memory

>JRF: You should look at both 'maxdsiz'

Not hardly. As Don said, when you see "TEXT" it means shared memory, since TEXT isn't "swapped".

>Don: I'll assume said library is 32-bit.

No need to assume, this is a 32 bit dld from the error message. :-)