Does "onmode -F" always work?
Posted in 2006
A user on IDS 9.40.FC5X3 / HP-UX 11.11 asked why "onmode -F" wouldn't release an apparently near-empty virtual shared memory segment (onstat -g seg showed 7 blocks used). Replies explained the behaviour rather than a bug: onmode -F first frees unused blocks back within each pool/segment, but it can only return a whole segment to the OS if exactly 1 block is in use (the segment header). Since some pool almost always holds blocks, segments usually stay. It was also noted that 9.x drains pools automatically (disable via DONTDRAINPOOLS=1 if latching costs CPU), and that defect 173929 can make onmode -F raise an assert failure, fixed in 9.40.UC8.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: Server Administration, Platform-Specific Issues, Versions, Editions & End-of-Life
Hi,
Has anyone experienced this similar problem? I'm running IDS 9.40.FC5X3 on the
HP-UX 11.11 -- I always have a hard time freeing unused virtual shared memory
segments -- As you can see, the 2nd virtual segment doesn't seem to contain
anything.
Thanks for any feedback.
Kern --
onstat -g seg
IBM Informix Dynamic Server Version 9.40.FC5X3 -- On-Line -- Up 18 days
00:29:36 -- 1672960 Kbytes
Segment Summary:
id key addr size ovhd class blkused blkfree
1378386 1382041601 c000000260000000 974913536 453600 R* 237990 26
171091 1382041602 c0000002a0000000 603979776 19104 V 67951 79505
679386217 1382041603 c000000344000000 134217728 4768 V 7 32761
Total: - - 1713111040 - - 305948 112292
(* segment locked in memory)
Might be an HP-UX SHM thing. I remember having the same problem with
IDS 7.3X on HP-UX 10.
Bob Roussey
Unix / Informix Administration
Spirit Airlines
Robert.Roussey@SpiritAir.com
586.741.8991
-----Original Message-----
From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of
KERN DO
Sent: Tuesday, January 03, 2006 8:25 PM
To: ids@iiug.org
Subject: Does "onmode -F" always work? [6161]
Hi,
Has anyone experienced this similar problem? I'm running IDS 9.40.FC5X3
on the
HP-UX 11.11 -- I always have a hard time freeing unused virtual shared
memory
segments -- As you can see, the 2nd virtual segment doesn't seem to
contain
anything.
Thanks for any feedback.
Kern --
onstat -g seg
IBM Informix Dynamic Server Version 9.40.FC5X3 -- On-Line -- Up 18 days
00:29:36 -- 1672960 Kbytes
Segment Summary:
id key addr size ovhd class blkused blkfree
1378386 1382041601 c000000260000000 974913536 453600 R* 237990 26
171091 1382041602 c0000002a0000000 603979776 19104 V 67951 79505
679386217 1382041603 c000000344000000 134217728 4768 V 7 32761
Total: - - 1713111040 - - 305948 112292
(* segment locked in memory)
************************************************************************
*******
Forum Note: Use "Reply" to post a response in the discussion forum.
We have IDS 7.3.x and I have an entry in cron that runs at 6:00 each AM and
it works for me. Since that entry has been made I haven't experienced any
issues with memory. We are still on Sol 7 unfortunately.
Hope this helps.
John Caron
USBC-MA
Worcester 508-770-8957
Boston 617-565-6175
"Robert Rous...."
<Robert.Roussey@S
piritAir.com> To
Sent by: ids@iiug.org
ids-bounces@iiug. cc
org
Subject
RE: Does "onmode -F" always work?
01/04/2006 08:51 [6163]
AM
Please respond to
ids@iiug.org
Might be an HP-UX SHM thing. I remember having the same problem with
IDS 7.3X on HP-UX 10.
Bob Roussey
Unix / Informix Administration
Spirit Airlines
Robert.Roussey@SpiritAir.com
586.741.8991
-----Original Message-----
From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of
KERN DO
Sent: Tuesday, January 03, 2006 8:25 PM
To: ids@iiug.org
Subject: Does "onmode -F" always work? [6161]
Hi,
Has anyone experienced this similar problem? I'm running IDS 9.40.FC5X3
on the
HP-UX 11.11 -- I always have a hard time freeing unused virtual shared
memory
segments -- As you can see, the 2nd virtual segment doesn't seem to
contain
anything.
Thanks for any feedback.
Kern --
onstat -g seg
IBM Informix Dynamic Server Version 9.40.FC5X3 -- On-Line -- Up 18 days
00:29:36 -- 1672960 Kbytes
Segment Summary:
id key addr size ovhd class blkused blkfree
1378386 1382041601 c000000260000000 974913536 453600 R* 237990 26
171091 1382041602 c0000002a0000000 603979776 19104 V 67951 79505
679386217 1382041603 c000000344000000 134217728 4768 V 7 32761
Total: - - 1713111040 - - 305948 112292
(* segment locked in memory)
************************************************************************
*******
Forum Note: Use "Reply" to post a response in the discussion forum.
*******************************************************************************
Forum Note: Use "Reply" to post a response in the discussion forum.
My experience has shown that the number of used blocks needs to be 1
before onmode -F will free it. Anything above 1 and it will not free
it.
Rob Schmitz
Informix DBA
913-315-4183
rob.b.schmitz@sprint.com
schmitzr@us.ibm.com
-----Original Message-----
From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of
KERN DO
Sent: Tuesday, January 03, 2006 7:25 PM
To: ids@iiug.org
Subject: Does "onmode -F" always work? [6161]
Hi,
Has anyone experienced this similar problem? I'm running IDS 9.40.FC5X3
on the
HP-UX 11.11 -- I always have a hard time freeing unused virtual shared
memory
segments -- As you can see, the 2nd virtual segment doesn't seem to
contain
anything.
Thanks for any feedback.
Kern --
onstat -g seg
IBM Informix Dynamic Server Version 9.40.FC5X3 -- On-Line -- Up 18 days
00:29:36 -- 1672960 Kbytes
Segment Summary:
id key addr size ovhd class blkused blkfree
1378386 1382041601 c000000260000000 974913536 453600 R* 237990 26
171091 1382041602 c0000002a0000000 603979776 19104 V 67951 79505
679386217 1382041603 c000000344000000 134217728 4768 V 7 32761
Total: - - 1713111040 - - 305948 112292
(* segment locked in memory)
************************************************************************
*******
Forum Note: Use "Reply" to post a response in the discussion forum.
My experience has shown that the number of unused blocks needs to be
down to 1. Anything above 1 and onmode -F won't free it. I've never
really paid any attention to this behavior from an OS perspective, but
I'm pretty sure it is like that on HP-UX, AIX, and Sun.
Rob Schmitz
Informix DBA
913-315-4183
rob.b.schmitz@sprint.com
schmitzr@us.ibm.com
-----Original Message-----
From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of
John_Caron@....
Sent: Wednesday, January 04, 2006 8:08 AM
To: ids@iiug.org
Subject: RE: Does "onmode -F" always work? [6164]
We have IDS 7.3.x and I have an entry in cron that runs at 6:00 each AM
and
it works for me. Since that entry has been made I haven't experienced
any
issues with memory. We are still on Sol 7 unfortunately.
Hope this helps.
John Caron
USBC-MA
Worcester 508-770-8957
Boston 617-565-6175
"Robert Rous...."
<Robert.Roussey@S
piritAir.com> To
Sent by: ids@iiug.org
ids-bounces@iiug. cc
org
Subject
RE: Does "onmode -F" always work?
01/04/2006 08:51 [6163]
AM
Please respond to
ids@iiug.org
Might be an HP-UX SHM thing. I remember having the same problem with
IDS 7.3X on HP-UX 10.
Bob Roussey
Unix / Informix Administration
Spirit Airlines
Robert.Roussey@SpiritAir.com
586.741.8991
-----Original Message-----
From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of
KERN DO
Sent: Tuesday, January 03, 2006 8:25 PM
To: ids@iiug.org
Subject: Does "onmode -F" always work? [6161]
Hi,
Has anyone experienced this similar problem? I'm running IDS 9.40.FC5X3
on the
HP-UX 11.11 -- I always have a hard time freeing unused virtual shared
memory
segments -- As you can see, the 2nd virtual segment doesn't seem to
contain
anything.
Thanks for any feedback.
Kern --
onstat -g seg
IBM Informix Dynamic Server Version 9.40.FC5X3 -- On-Line -- Up 18 days
00:29:36 -- 1672960 Kbytes
Segment Summary:
id key addr size ovhd class blkused blkfree
1378386 1382041601 c000000260000000 974913536 453600 R* 237990 26
171091 1382041602 c0000002a0000000 603979776 19104 V 67951 79505
679386217 1382041603 c000000344000000 134217728 4768 V 7 32761
Total: - - 1713111040 - - 305948 112292
(* segment locked in memory)
************************************************************************
*******
Forum Note: Use "Reply" to post a response in the discussion forum.
************************************************************************
*******
Forum Note: Use "Reply" to post a response in the discussion forum.
************************************************************************
*******
Forum Note: Use "Reply" to post a response in the discussion forum.
Hi,
onmode -F does two things:
1) It searches all memory pools and tries to free any freeblks in each
memory pool. Those freeblks belong to the memory pool, but are unused.
When 'onmode -F succeeds, it returns the memory to the the the free memory
in the segment. You should see that the number of blkferee increases and the
number of blkused decreases after running 'onmode -F' .
2) It attempts to return any segment that is completley free to the operating
system. This is possible only, if the segment has only 1 blkused , as this
first block of memory contains the segment header structure.
If any other blk is in use, the segment can't be returned to the OS.
Unfortunatley, any SHM segment will almost everytime have some blocks allocated
by some user or internal pools. So you will often see that onmode -F frees
memory
inside a segment, but is not able to return a segment memory to the OS.
Apart from that, in IDS 9.x pools are usually drained by default, i.e. the
engine attempts constantly to return freeblks in pools to the the global free
memory inside a SHM segment. So 'onmode -F' will not be that usefull , as
memory
managment of the IDS engine is more efficient anyway.
The downturn of this is, that the constant attempt to free memory from
pools requires latching, which in turn may cause busy waits by other
threads. This can lead to waste of CPU cycles.
If you are experiencing CPU resource bottlenecks (long ready queues)
you may! be hitting this issue. (may have other reasons).
To turn off the new memory managment in IDS , you may set the environment
variable DONTDRAINPOOLS to 1 , before you start IDS (in the environment of
the user who starts IDS).
To avoid the increased usage of memory after setting DONTDRAINPOOLS you
may choose to run 'onmdoe -F' again at intervals of your choice.
One last issue to consider: in IDS 9.40 there is a defect 173929 which
may cause an 'ASSERT FAILURE' when onnmode -F is run.
173929 ONMODE -F MAY CAUSE ASSERT FAIL IN MT_SET_POOL
The defect will cause an assertion failure , but the engine will stay online.
This is fixed in 9.40.UC8 .
Best regards
Tilman
-----Ursprüngliche Nachricht-----
Von: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] Im Auftrag von KERN DO
Gesendet: 04 January 2006 02:25
An: ids@iiug.org
Betreff: Does "onmode -F" always work? [6161]
Hi,
Has anyone experienced this similar problem? I'm running IDS 9.40.FC5X3 on the
HP-UX 11.11 -- I always have a hard time freeing unused virtual shared memory
segments -- As you can see, the 2nd virtual segment doesn't seem to contain
anything.
Thanks for any feedback.
Kern --
onstat -g seg
IBM Informix Dynamic Server Version 9.40.FC5X3 -- On-Line -- Up 18 days
00:29:36 -- 1672960 Kbytes
Segment Summary:
id key addr size ovhd class blkused blkfree
1378386 1382041601 c000000260000000 974913536 453600 R* 237990 26
171091 1382041602 c0000002a0000000 603979776 19104 V 67951 79505
679386217 1382041603 c000000344000000 134217728 4768 V 7 32761
Total: - - 1713111040 - - 305948 112292
(* segment locked in memory)
*******************************************************************************
Forum Note: Use "Reply" to post a response in the discussion forum.
Related threads
- Posting from the Informix-list
- Migrating from IDS 9.40.UC6 to 11.50.UC3
- Ip for a network session
- questions onstat -g