Restricting Informix Resources
Posted in 1999
Topics: Server Administration, Platform-Specific Issues, Java & JDBC Development, Versions, Editions & End-of-Life
My IDS instance hangs whenever one of my feckless users runs an
abysmally coded java app with convoluted SQL statements. Informix
proceeds to grab additional 8 MB segments of virtual memory shared
memory until the instance halts with no warning in the message log
(except for usual missives about the grabs). Informix will then not
respond to anything except killing of the primary oninit daemon.
Besides the obvious "don't do that" -- and the educational effort that
will have to be expended on this programmer (and possible application of
the Troop Alignment Tool, aka 2x4) -- how can I restrict the amount of
system resources allocated to a user thread from within Informix? Which
onconfig parameters need to be set? Is this even possible with
Informix?
We are using IDS 7.23.UC1 on Solaris 2.5.1 on Intel w/128 MB memory.
Red,
Informix, unlike Oracle, doesn't allow much control over their users
resources. An example is that any valid user on the system can create a
new database or cram too much data into a datatype to crash the server
(seen this done many times with char streams causing sevg's and server
crashes).
What you can do in this case is to set the onconfig SHMMAX variable to
something reaonable. This will allow Informix to grow virtual memory up to
the limit you specify. When Informix grabs that much memory, it will shut
down user processing to user threads, but does allow you to bring down the
instance gracefully. Might even be able to do a onmode -F there, but
havent tried it personally. Killing oninits can do all kinds of nasty
things to your server... good luck.
-Mike Adams
red_valsen@yahoo.com (Red Valsen) wrote in <37BAC8B4.CDCAD825@yahoo.com>:
>My IDS instance hangs whenever one of my feckless users runs an
>abysmally coded java app with convoluted SQL statements. Informix
>proceeds to grab additional 8 MB segments of virtual memory shared
>memory until the instance halts with no warning in the message log
>(except for usual missives about the grabs). Informix will then not
>respond to anything except killing of the primary oninit daemon.
>
>Besides the obvious "don't do that" -- and the educational effort that
>will have to be expended on this programmer (and possible application of
>the Troop Alignment Tool, aka 2x4) -- how can I restrict the amount of
>system resources allocated to a user thread from within Informix? Which
>onconfig parameters need to be set? Is this even possible with
>Informix?
>
>We are using IDS 7.23.UC1 on Solaris 2.5.1 on Intel w/128 MB memory.
>
>