Tuesday, 12 November 2013

Memory allocation failed (SQLSTATE PS118), Cache write failed

PSAPPSRV LOG:  
PSPAL: Abort: Unrecoverable exception
Memory allocation failed (SQLSTATE PS118)
CMgrImp::WriteCache : Cache write failed

Platform : AIX
Getting the following error messages in the APPSRV_MMDD.LOG log on PeopleTools 8.48+:

PSPAL: Abort: Unrecoverable exception
Memory allocation failed (SQLSTATE PS118)
CMgrImp::WriteCache : Cache write failed

Solution :

Check the output of 'ulimit -a' command while logged into your AIX system as the user that you use to boot the domain.

It may give you results like below, which are the older AIX defaults:

time(seconds)         unlimited
file(blocks)             2097151
data(kbytes)           131072
stack(kbytes)          32768
memory(kbytes)      32768
coredump(blocks)   2097151
nofiles(descriptors)  2000

From the 'ulimit -a' output above, it the limitations are set too low for PeopleTools.

The out of memory problems are due to the low setting for the 'data' limit -
This should be set to unlimited.
Additionally, the 'nofiles' limit should be raised to at least 4000.

Increase these limits, logout, log back in, verify the limits,
as the user that will boot the application server domain,
have been raised by running 'ulimit -a', then restart the domain.

Note : this setting also helps if you are being thrown out of PIA multiple times & if you are getting below error in app logs
/vob/peopletools/src/pssys/crmget.cppSQL error. Stmt #: 1066  Error Position: 28  Return: 8007 - Insufficient memory available
You can also change the ulimit settings to unlimited except for codedump parameter.
After changing the limits you need to log out and back into your Unix account and restart the process scheduler.

No comments:

Post a Comment