IDS 7.31.UD8 Running out of memory
Posted in 2008
Topics: Server Administration, Platform-Specific Issues, Versions, Editions & End-of-Life
Hi everyone,
I'm running IDS 7.31.UD8 on AIX 5.1 ML9 and it seems that whenever I reach
somewhere around 2600 informix sessions , IDS runs out of memory and can not
start any further sesssions. This causes the ERP application to lock up and
many orphaned sessions are left in Informix until I recycle it. Since this is
a 32-bit version, I know I am limited in the amount of memory I can allocate
to Informix, but this issue seems to correlate to the number of sessions /
poll threads I have configured with my NETTYPE setting which is below.
NETTYPE soctcp,8,330,NET # Configure poll thread(s) for nettype
NETTYPE sqlmux,,, # Configure poll thread(s) for nettype
I was wondering if this NETTYPE setting is possibly causing a problem, or if
I'm just reaching the absolute ceiling of allocated memory. Below are my
shared memory settings in onconfig.
SHMVIRTSIZE 1734064
SHMADD 4096 # Size of new shared memory segments (Kbytes)
SHMTOTAL 3145728 # Total shared memory (Kbytes). 0=>unlimited
If none of these settings are an issue, I wonder if there is a way for me to
configure the engine to deny new connections until enough memory is free so
sessions don't get locked up.
I appreciate your help!
Thanks,
Kevin
Are these ODBC connections going to your Informix server, or are these
application based connections (ipcshm or onsoctcp)? If it's application
based, my guess work be dirty/sloppy code that doesn't close() the db
connections.
I have HPUX applications and we use onsoctcp with our Informix connectivity
from the application. I get orphans in my system, but it is due more from
orphaned Unix processes leaving connections open and/or table/row locks
open. But, when I kill off the orphaned Unix processes, then DB connections
and subsequent locks get released.
Here is what I have in my $ONCONFIG file for NETTYPE:
NETTYPE soctcp,3,250,NET # Configure poll thread(s) for nettype
DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed env.
This may not be helpful to you, but I would start looking at the application
or ODBC connections (if you have any). If you're using Visual Basic
Scripting in any of your applications that connect to Informix, PLEASE make
sure the DB connections are being closed before the script exits. VBS can
be sloppy sometimes with dirty exits.
Last piece of advice, monitor your network with Wireshark, or similar
stateful packet inspection tool. See if TCP sessions are getting axed,
dropped, or generally disrupted. If your network layer is breaking
connections, you can end up with tons of orphans from your application.
Best wishes with your situation.
HTH
Jonathan Smaby
Pomona College
ITS Department
-----Original Message-----
> From: KEVIN MONDAY <kevin.monday@manitowoc.com>
> Reply-To: <ids@iiug.org>
> Date: Tue, 5 Aug 2008 15:52:43 -0400 (EDT)
> To: <ids@iiug.org>
> Subject: IDS 7.31.UD8 Running out of memory [12989]
>
> Hi everyone,
>
> I'm running IDS 7.31.UD8 on AIX 5.1 ML9 and it seems that whenever I reach
> somewhere around 2600 informix sessions , IDS runs out of memory and can not
> start any further sesssions. This causes the ERP application to lock up and
> many orphaned sessions are left in Informix until I recycle it. Since this is
> a 32-bit version, I know I am limited in the amount of memory I can allocate
> to Informix, but this issue seems to correlate to the number of sessions /
> poll threads I have configured with my NETTYPE setting which is below.
>
> NETTYPE soctcp,8,330,NET # Configure poll thread(s) for nettype
> NETTYPE sqlmux,,, # Configure poll thread(s) for nettype>
> I was wondering if this NETTYPE setting is possibly causing a problem, or if
> I'm just reaching the absolute ceiling of allocated memory. Below are my
> shared memory settings in onconfig.
>
> SHMVIRTSIZE 1734064
> SHMADD 4096 # Size of new shared memory segments (Kbytes)
> SHMTOTAL 3145728 # Total shared memory (Kbytes). 0=>unlimited>
> If none of these settings are an issue, I wonder if there is a way for me to
> configure the engine to deny new connections until enough memory is free so
> sessions don't get locked up.
>
> I appreciate your help!
>
> Thanks,
>
> Kevin
>
>
>
******************************************************************************
> *
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
-------------------------------------------------------------
This message has been scanned by Postini anti-virus software.
Nail - head.
Check the FM for NETTYPE. Then complete the simple math: "What is 330 * 8".
Aha!
KEVIN MONDAY wrote:
> Hi everyone,
>
> I'm running IDS 7.31.UD8 on AIX 5.1 ML9 and it seems that whenever I reach
> somewhere around 2600 informix sessions , IDS runs out of memory and can not
> start any further sesssions. This causes the ERP application to lock up and
> many orphaned sessions are left in Informix until I recycle it. Since this is
> a 32-bit version, I know I am limited in the amount of memory I can allocate
> to Informix, but this issue seems to correlate to the number of sessions /
> poll threads I have configured with my NETTYPE setting which is below.
>
> NETTYPE soctcp,8,330,NET # Configure poll thread(s) for nettype
> NETTYPE sqlmux,,, # Configure poll thread(s) for nettype>
> I was wondering if this NETTYPE setting is possibly causing a problem, or if
> I'm just reaching the absolute ceiling of allocated memory. Below are my
> shared memory settings in onconfig.
>
> SHMVIRTSIZE 1734064
> SHMADD 4096 # Size of new shared memory segments (Kbytes)
> SHMTOTAL 3145728 # Total shared memory (Kbytes). 0=>unlimited>
> If none of these settings are an issue, I wonder if there is a way for me to
> configure the engine to deny new connections until enough memory is free so
> sessions don't get locked up.
>
> I appreciate your help!
>
> Thanks,
>
> Kevin
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
>
Are you suggesting that I bump up the NETTYPE numbers? Is this giving me an artificial limitation? If so, is there a better way to set this up so this limitation is no longer an issue?
Does your MSGPATH show messages that you are indeed bumping into your SHMTOTAL
amount when this occurs?
I'm fairly certain (as in 99%) that for non-shared memory protocol (ie soctcp
or tlitcp) that number of poll threads * number of users per poll thread is
not a limit. You should be able to exceed that number of connections. Only in
the ipcshm case is that limit enforced.
So I would more likely believe that after 2600 sessions you are indeed bumping
into SHMTOTAL. Which should generate messages in the MSGPATH. You could also
verify by looking at onstat -g seg when the problem is occurring. You should
see little to no free blocks available (the blkfree column).
Jacques
From your post :
I was wondering if this NETTYPE setting is possibly causing a problem, or if
I'm just reaching the absolute ceiling of allocated memory. Below are my
shared memory settings in onconfig.
SHMVIRTSIZE 1734064
SHMADD 4096 # Size of new shared memory segments (Kbytes)
SHMTOTAL 3145728 # Total shared memory (Kbytes). 0=>unlimited