shared memory
Posted in 2007
Topics: Stored Procedures & SPL, Server Administration, Versions, Editions & End-of-Life
In our IDS 7.31 server, onstat -g seg displays seven 'V's (Memory Segments).
SHMVIRTSIZE 100000
SHMADD 100000
SHMTOTAL 0
At present 6th "V" is in use and one is free. Each memory segment is quickly
getting exhausted.
Why its getting utilised very quickly
im running update statistics for entire db everyday
Could this be the problem.
Im not able to increase OS shmmax parameter its already maximum.
I believe after certain no of segments IDS will not add new segments.
Im using onmode -F, to release unused memory.but its releasing very less.
Is there a method to control the memory usage.
Please suggest forward path to solve this problem.
Hi,
Your shared memory is used because Informix needs it. It is that simple.
Shared memory is being allocated for each connection. I saw systems with
several Gb of Shared memory.
Why do you think the 100000 is a maximum value for initial segment ? What OS
is being used ?
The system settings (SHMMAX) have to be adjusted to have bigger segments,
but it is no problem to have an initial segment of e.g. 800 MB.
Update statistics takes itself a lot of shared memory, and onmode -F is onlyworking good if you have a total free segment.
In order to decrease shared memory, the only choice is to modify the
application, work with less users or decrease the buffer value.
It depends on your OS when Informix will not be able to allocate more
segments (SHMSEG parameter and some others), but if you have a relatively
constant amount of users/connections on your system, it will not allocate
more memory segments.
Marcus
-----Original Message-----
From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of S
SURESH
Sent: Tuesday, January 02, 2007 10:32 AM
To: ids@iiug.org
Subject: shared memory [8073]
In our IDS 7.31 server, onstat -g seg displays seven 'V's (Memory Segments).
SHMVIRTSIZE 100000
SHMADD 100000
SHMTOTAL 0
At present 6th "V" is in use and one is free. Each memory segment is quickly
getting exhausted.
Why its getting utilised very quickly
im running update statistics for entire db everyday Could this be the
problem.
Im not able to increase OS shmmax parameter its already maximum.
I believe after certain no of segments IDS will not add new segments.
Im using onmode -F, to release unused memory.but its releasing very less.
Is there a method to control the memory usage.
Please suggest forward path to solve this problem.
****************************************************************************
***
Forum Note: Use "Reply" to post a response in the discussion forum.
forwarded
-----Original Message-----
From: Gentry, Mark [mailto:mark.gentry@staples.com]
Sent: Tuesday, January 02, 2007 1:20 PM
To: 'Marcus Haarmann'
Subject: RE: shared memory [8074]
Try running "onstat -g mem" from time to time. Look for growing usage, like
"rsam" I've see this on my servers running 9.4 and believe it also occurred
at 7.x. If rmsam is growing, look for some new process that is not closing
CURSORS. If possible, compare the results with another instance.
"SHMTOTAL 0" means Informix will allocate as much memory as the kernel will
allow. Typically this is 2 gigs but only your SA knows for sure. Consult
with the SA to see how much physical memory is actually being used. You may
need to add more memory to the box and/or gen a new kernel allowing larger
memory segments.
-----Original Message-----
From: Marcus Haarmann [mailto:marcus.haarmann@midoco.de]
Sent: Tuesday, January 02, 2007 5:03 AM
To: ids@iiug.org
Subject: RE: shared memory [8074]
Hi,
Your shared memory is used because Informix needs it. It is that simple.
Shared memory is being allocated for each connection. I saw systems with
several Gb of Shared memory.
Why do you think the 100000 is a maximum value for initial segment ? What OS
is being used ?
The system settings (SHMMAX) have to be adjusted to have bigger segments,
but it is no problem to have an initial segment of e.g. 800 MB.
Update statistics takes itself a lot of shared memory, and onmode -F is only
working good if you have a total free segment.
In order to decrease shared memory, the only choice is to modify the
application, work with less users or decrease the buffer value.
It depends on your OS when Informix will not be able to allocate more
segments (SHMSEG parameter and some others), but if you have a relatively
constant amount of users/connections on your system, it will not allocate
more memory segments.
Marcus
-----Original Message-----
From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of S
SURESH
Sent: Tuesday, January 02, 2007 10:32 AM
To: ids@iiug.org
Subject: shared memory [8073]
In our IDS 7.31 server, onstat -g seg displays seven 'V's (Memory Segments).
SHMVIRTSIZE 100000
SHMADD 100000
SHMTOTAL 0
At present 6th "V" is in use and one is free. Each memory segment is quickly
getting exhausted.
Why its getting utilised very quickly
im running update statistics for entire db everyday Could this be the
problem.
Im not able to increase OS shmmax parameter its already maximum.
I believe after certain no of segments IDS will not add new segments.
Im using onmode -F, to release unused memory.but its releasing very less.
Is there a method to control the memory usage.
Please suggest forward path to solve this problem.
****************************************************************************
***
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,
Since your informix version is IDS 7.31 server, the virtual memory has to
be constantly be released by "onmode -F".
In higher version of IDS, this is not necessary.
Make sure your SHMADD is set to a reasonable amount.
Thereafter you can do a cron job to run "onmode -F" at a fixed interval,
eg if you are only running it once a day, you can increase it to may be
once in 2 hours.
With you you should see that virtual segments will be maintained,
performance will also be better.
Best Regards,
Dominic Seah
"Marcus Haarmann" <marcus.haarmann@midoco.de>
Sent by: ids-bounces@iiug.org
02-Jan-07 08:36 PM
Please respond to
ids@iiug.org
To
ids@iiug.org
cc
Subject
RE: shared memory [8075]
forwarded
-----Original Message-----
From: Gentry, Mark [mailto:mark.gentry@staples.com]
Sent: Tuesday, January 02, 2007 1:20 PM
To: 'Marcus Haarmann'
Subject: RE: shared memory [8074]
Try running "onstat -g mem" from time to time. Look for growing usage,
like
"rsam" I've see this on my servers running 9.4 and believe it also
occurred
at 7.x. If rmsam is growing, look for some new process that is not closing
CURSORS. If possible, compare the results with another instance.
"SHMTOTAL 0" means Informix will allocate as much memory as the kernel
will
allow. Typically this is 2 gigs but only your SA knows for sure. Consult
with the SA to see how much physical memory is actually being used. You
may
need to add more memory to the box and/or gen a new kernel allowing larger
memory segments.
-----Original Message-----
From: Marcus Haarmann [mailto:marcus.haarmann@midoco.de]
Sent: Tuesday, January 02, 2007 5:03 AM
To: ids@iiug.org
Subject: RE: shared memory [8074]
Hi,
Your shared memory is used because Informix needs it. It is that simple.
Shared memory is being allocated for each connection. I saw systems with
several Gb of Shared memory.
Why do you think the 100000 is a maximum value for initial segment ? What
OS
is being used ?
The system settings (SHMMAX) have to be adjusted to have bigger segments,
but it is no problem to have an initial segment of e.g. 800 MB.
Update statistics takes itself a lot of shared memory, and onmode -F isonly
working good if you have a total free segment.
In order to decrease shared memory, the only choice is to modify the
application, work with less users or decrease the buffer value.
It depends on your OS when Informix will not be able to allocate more
segments (SHMSEG parameter and some others), but if you have a relatively
constant amount of users/connections on your system, it will not allocate
more memory segments.
Marcus
-----Original Message-----
From: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] On Behalf Of S
SURESH
Sent: Tuesday, January 02, 2007 10:32 AM
To: ids@iiug.org
Subject: shared memory [8073]
In our IDS 7.31 server, onstat -g seg displays seven 'V's (Memory
Segments).
SHMVIRTSIZE 100000
SHMADD 100000
SHMTOTAL 0
At present 6th "V" is in use and one is free. Each memory segment is
quickly
getting exhausted.
Why its getting utilised very quickly
im running update statistics for entire db everyday Could this be the
problem.
Im not able to increase OS shmmax parameter its already maximum.
I believe after certain no of segments IDS will not add new segments.
Im using onmode -F, to release unused memory.but its releasing very less.
Is there a method to control the memory usage.
Please suggest forward path to solve this problem.
****************************************************************************
***
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.
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