Informix shared memory consumption
Posted in 1996
Topics: Server Administration
In the process of porting an application to Informix (Online 7.11.UC2),
I'm having a perplexing problem. The amount of shared memory that
Informix uses keeps growing until the SHMTOTAL is reached, at which
point the application aborts. The application is a long-running daemon
process, but the logical units of work are small and discrete.
It appears that whenever my application performs a database transaction
(select, update, etc.) Informix is allocating some amount of shared
memory to support that. It also appears that this shared memory is
never being released until the process is terminated. I've checked
trace files, and all of my OPEN/CLOSE CURSOR and BEGIN/COMMIT WORK
statements are balanced. I've also checked my code using AIB
Software's Sentinel for memory leaks, and it's come up clean
A miniscule amount of shared memory can reclaimed by performing an
"onmode -F", but the amount reclaimed is tiny (<10%) of the amount I
would expect to be reclaimed after my process has finished serving a
request.
This is on and NCR 3455 and on an NCR 3600, both running AT&T UNIX SVR4
release 4.0. Any suggestions on how to limit Informix's shared memory
consumption will be most appreciated.
-David Miller
--
David D. Miller | " Oh, I get it.
ddmiller@io.com | You're a plant, right?"
| - Heather Locklear, "Return of the Swamp Thing"