Re: onmode -F
Posted in 1997
In article <33A6805F.167E@uk.ibm.com>, Daniel Williams
<danny@uk.ibm.com> writes
>Zeljan Silje wrote:
>>
>> Hi,
>>
>> in "Performance Guide Version 7.2" I found recommandation to run onmode
>> -F using cron facility.
>> Does anyone has experience with this, and how often should I execute
>> onmode -F using cron?>> I am using Informix OnLine7.22 on AIX4.2.
>>
>> Thanks in advance,
>> Zeljan
>>
>
>onmode -F frees unused memory segments>
>The answer depends entirely on how your system is being used (like all
>performance
>and tuning questions).
>
>Look to see how often your system is allocating additional memory segments (in
>the
>online log). The message will be something like:
>
>08:32:42 dynamically allocated new shared memory segment (size 8388608)>
>Run onstat - to find out the resident memory size.
>
>Next, run an onmode -F followed by an onstat - to find out the new resident
>size.
>If it is significantly lower, then consider running onmode -F every night (or
>when
>the system load is low if night is a bad time).
>
>Also look at the output of onstat -g seg (see manual).
>
>If you find that there is a lot of additional memory being allocated but not
>being
>released with an onmode -F then it is likely that it is being utilised. If so,
>consider increasing the SHMADD $ONCONFIG parameter, to allow informix to
>allocate
>more memory in one operation. Conversely, if memory is being allocated but is
>available for release soon after, it is possible that the total allocation is
>not
>being used. Then consider decreasing the SHMADD parameter.
>
>You should also examine the system from the AIX perspective, using the ipcs
>command, to check that any shared memory used by informix for interprocess
>communcation is being released correctly.
>
>As you can see, the answer is not a simple one and requires knowledge of both
>how
>the both OnLine engine and AIX operate.
>
>Hope this information is useful.
>
>Dan
>
>
>P.S. (To all readers) To the best of my knowledge this reply is correct. If it
>is
>not, please post corrections.
All good, but...
I would add that if onmode -F tends to free segments then some
jobs/queries use a lot of memory and then are able to stop using it.
This means there is a peak in memory usage.. check that one query is
not doing a dynamic hash join (sequential scan) which requires a lot
of memory for the join rather than using an index.
i.e. AN INDEX IS MISSING OR A QUERY NEEDS REWRITING..
--
David Williams