Hello, everyone!
I have a very strange problem that I'm hoping someone can help me with.
I am running Informix on-line (both 7.12 and 7.23) on a Sun platform. I
have a variety of unrelated jobs (i.e. PB apps that run stored
procedures, ESQL/COBOL programs that insert data, etc,) that spawn
multiple threads and use up memory rapidly, but only periodically. This
is a relatively new problem, although the jobs themselves have been in
place for some time. If I run an 'update statistics' against the
database in question, the problem seems to go away SOMETIMES. I've
tried high, medium, low, etc., but so far haven't found any consistent
pattern. The output from onstat -g ses xxx looks shows several threads,
which look something like this:
NAME STATUS
sqlexec cond wait(sm_read)
group_1. cond wait(await_MC1)
join_2.0 cond_wait(await_MC2)
join_2.1 cond_wait(await_MC2)
hjoin_3. cond_wait(await_MC3)
join_4.0 cond_wait(await_MC4)
join_4.1 cond_wait(await_MC4)
scan_5.0 cond_wait(await_MC5)
scan_6.0 cond_wait(await_MC6)
Why are all of these different threads running? What do they mean?
What is, for example, MC1? An even bigger qestion is, is there some
documentation available that REALLY explains the onstat output?
It looks like Informix is grabbing more memory every time an sql
statement is executed, even though the sql is either a stored procedure
or a prepared statement.
I would really appreciate some help.