add_to_heap() - Unable to allocate memory

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

Post Reply
eoyylo
Participant
Posts: 57
Joined: Mon Jun 30, 2003 6:56 am

add_to_heap() - Unable to allocate memory

Post by eoyylo »

Hi,
to improve the performance i try to load in memory an hash file but its dimention is about 2GB.
To load in memory the file I set 999MB in "Read cache size" and 999MB in "Write cache size" in the tunable page of Administrator, and I split the hash file in 3 hash file (I suppose to obtain 3 file of 700 MB).
The server is an HP with HP-UX 11, 8 GB of Ram and 200 GB allocated for the temporary file .
I modified the value of some kernel parameter (maxdsiz to 4GB and maxdsiz_64bit to 6 GB).

I used the command shmtest (the result is below) but i don't understand which are the uvconfig parameter that i must modify to obtain to load the hash file in memory

I try to read the previous post, but I can't find the solution.

Can someone help me?
Which are the kernel parameter that i must modify?
And Which are the uvconfig parameter that i must modify?

Thanks in advance

Regards
Mario

output of shmtest command:


Step 1: Performing an init() operation
: Operation successful
Step 2: Getting uvhome directory
: uvhome = /app/Ascential/DataStage/DSEngine/.uvconfig
Step 3: Reading in Tunables
: Operation successful
Step 4: Determining segment sizes
: Dsegsize = 13678272
: Psegsize = 10240
: Csegsize = 10485760
: Nsegsize = 0 ***(NLS inactive)
Step 5: Creating segments
: Dshmid = 1212
: Pshmid = 2613
: Cshmid = 414
Step 6: Determining memory locations
: ***using Cshmseg
: base memval = 0x4003f000
: old memval = 0x7b02fc00
: top memval = 0x7b02fc00
: tot. memory = -989793280 bytes
Step 7: Calculating segment attach points based on size
: Nmemoff = 0x0
: Cmemoff = 0x7b02e000
: Pmemoff = 0x7b02a000
: Dmemoff = 0x7a31d000
Step 8: Performing a fin()
: Operation successful
Step 9: Attaching to segments
: Dshmptr = unsuccessful
Step 10: Cleaning up
: segment detach successful
: segment removal successful
eoyylo
Participant
Posts: 57
Joined: Mon Jun 30, 2003 6:56 am

Post by eoyylo »

Hi,
an another little bit of information:
i set the uvconfig parameter at the value specified by smhtest: now i can't restart the DataStage server.

DMEMOFF 0x7a31d000
PMEMOFF 0x7b02a000
CMEMOFF 0x7b02e000


regards

Mario
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

What error messages do you get when trying to restart DataStage?

These "memory offset" parameters are quite sensitive; you are not permitted to generate any shared memory segment larger than the system can deliver; this in turn is configured by UNIX kernel parameters such as shmmax and shmmni.

Nothing exists in isolation!
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
eoyylo
Participant
Posts: 57
Joined: Mon Jun 30, 2003 6:56 am

Post by eoyylo »

Hi Ray,
after i modified the uvconfig parameter the error during the start of datastage server is:

Unable to attach disk shared memory segment: Invalid argument
An error has occurred during uniVerse initialization
Please contact the system administrator
Error code: 4 22
An error has occurred during uniVerse initialization
Please contact the system administrator
Error code: 4 22
An error has occurred during uniVerse initialization
Please contact the system administrator
Error code: 4 22
DataStage Engine has been brought up.


If I use the command shmtest i obtain

Step 1: Performing an init() operation
An error has occurred during uniVerse initialization
Please contact the system administrator
Error code: 4 22


I modified the kernel parameter in the next values:

shmem 1 - 1
shmmax 4294967296 Y 4294967296
shmmni 512 - 512
shmseg 512 Y 512

Any suggestions?

Regards

Mario
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Here's a thought... why not set the uvconfig values that you changed back to whatever they used to be when the server would actually start?
-craig

"You can never have too many knives" -- Logan Nine Fingers
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Error code: 4 22

Post by ray.wurlod »

The Administering UniVerse manual (page E-8) tells you that the 4 means that System V semaphores are probably not configured in the kernel, and (page E-4) that 22 means that an invalid argument has been passed.

So I'd look at your UNIX kernel parameters to make sure that they are set at least as large as your installation documentation specifies. They may need to be slightly larger (particularly shmmax and shmmni and, consequently shmmni and shmseg) because you have increased the total demand for shared memory.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Post Reply