RE: Informix 9.40 crash after stress test.
Posted in 2003
Topics: Installation, Setup & Upgrades, Storage & Space Management, Error Codes & Troubleshooting, Server Administration, Logging & Checkpoints, Networking & sqlhosts Configuration, Platform-Specific Issues
If a user connects to the server using shared memory or TCP/IP has nothing
to do with how much shared memory is allocated for the threads running from
that users session. Shared memory connection vs. TCP/IP is simply the
method of communication between the server and client.
If you want to verify the type of connection:
If the client app is running on the same machine, get the process id of the
client. Run:
onstat -g ses | grep PID - the process id of the clientThe session id is the first column in the onstat -g ses output. Then run:
onstat -g ntu | grep SESSION_ID - the session id found aboveThe connection type is the second field. The run:
onstat -g ses SESSION_ID - the session id found aboveThis will give you pretty much all the info you need for that users session.
Check out this site for info on the onstat -g output:
http://www.oninit.com/database/redirect.php?page=http://www.oninit.com/onsta
t/index.html
Regards,
Bill Dare
> -----Original Message-----
> From: sharad [SMTP:sha_pawar@hotmail.com]
> Sent: Friday, August 01, 2003 5:41 AM
> To: informix-list@iiug.org
> Subject: Re: Informix 9.40 crash after stress test.
>
> Hi Bill,
>
> Thanks for your suggetion . I had made changes as per suggetion so
> rerunning
> stress test. but I had one question about I had set connection protocol is
> soctcp ,I want to verify is now really using this protocol or not. if not
> how to get use this protocol. and why it is using the this much shared
> memory ?
>
> Parameter in onconfig file :
> NETTYPE soctcp,4,150,NET>
> sqlhosts:
> fpt_server onsoctcp 9.182.25.49 INF>
> $INFORMIXSERVER fpt_server
> - sharad
>
>
>
> "Bill Dare" <dareb@jevic.com> wrote in message
> news:bgbf6v$p1o$1@terabinaries.xmission.com...
> >
> > The user controls whether he connects using a TCP/IP connection vs. a
> SHM
> > connection by setting the INFORMIXSERVER environment variable or
> explicitly
> > selecting a server in his SQL. You can see how a user is connected
> using
> > "onstat -g ses".
> >
> > But that's not your problem here.
> >
> > Your getting errno 24 because your server is allocating too many shared
> > memory segments.
> > #define EMFILE 24 /* Too many open files */
> >
> > With these settings:
> >
> > SHMVIRTSIZE 87500 # initial virtual shared memory segment size
> >
> > SHMADD 16384 # Size of new shared memory segments (Kbytes)
> >
> > SHMTOTAL 419430 # Total shared memory (Kbytes). 0=>unlimited> >
> > you have the possibility of allocating (419430 - 87500) / 16384 = 20
> shared
> > memory segments. Obviously more than the OS is configured to allow.
> Fix
> > this particular problem by making SHMADD large enough or SHMTOTAL small
> > enough so that you do not exceed SHMSEG. Or set SHMSEG in the kernel to
> > allow the number you are allocating.
> >
> > Of course you still have a problem with a user trying to use to much
> virtual
> > memory. At least your server will not crash.
> >
> > Regards,
> > Bill Dare
> >
> >
> >
> >
> >
> > > -----Original Message-----
> > > From: sharad [SMTP:sha_pawar@hotmail.com]
> > > Sent: Thursday, July 31, 2003 8:00 AM
> > > To: informix-list@iiug.org
> > > Subject: Informix 9.40 crash after stress test.
> > >
> > > Hi ,
> > >
> > > I had install informix 9.40 UC2 on AIX 5.2.
> > > did anybody has idea how to check informix server is using tcp
> connection
> > > and not shared memory connection.How to check memory leak in informix
> > > server
> > > ?
> > >
> > > Here is some portion of online.log file .
> > > ===============================================================
> > > 16:28:31 shmat: [EMFILE][24]: out of shared memory segments, check> system
> > > SHMSEG
> > >
> > > 16:28:31 shmdt: errno = 22
> > > 16:28:31 out of virtual shared memory
> > >
> > > 16:28:31 shmat: [EMFILE][24]: out of shared memory segments, check> system
> > > SHMSEG
> > >
> > > 16:28:31 shmdt: errno = 22
> > > 16:28:31 out of virtual shared memory
> > >
> > > 16:28:31 Assert Failed: No Exception Handler
> > > 16:28:31 IBM Informix Dynamic Server Version 9.40.UC2
> > > 16:28:31 Who: Session(16, informix@adolphus, 5002, 40215d00)
> > > Thread(40, sqlexec, 401e5e68, 1)
> > > File: mtex.c Line: 431
> > > 16:28:31 Results: Exception Caught. Type: MT_EX_OS, Context: mem
> > > 16:28:31 Action: Please notify IBM Informix Technical Support.
> > > 16:28:31 stack trace for pid 32182 written to /tmp/af.410fd5e
> > > 16:28:31 See Also: /tmp/af.410fd5e, shmem.410fd5e.0
> > > 16:29:06 mtex.c, line 431, thread 40, proc id 32182, No Exception
> > > Handler.
> > > 16:29:08 The Master Daemon Died
> > > 16:29:08 PANIC: Attempting to bring system down
> > > ===============================================================> > > onconfig :file
> > > shared memory not initialized for INFORMIXSERVER 'fpt_server'
> > >
> > > Configuration File: /dbms/informix/etc/onconfig.file
> > >
> > >
> #*************************************************************************
> > > *
> > >
> > > #
> > >
> > > # INFORMIX SOFTWARE, INC.
> > >
> > > #
> > >
> > > # Title: onconfig.std
> > >
> > > # Description: Informix Dynamic Server Configuration Parameters
> > >
> > > #
> > >
> > >
> #*************************************************************************
> > > *
> > >
> > > # Root Dbspace Configuration
> > >
> > > ROOTNAME rootdbs # Root dbspace name> > >
> > > ROOTPATH /dbms/informix/data/fpt_data
> > >
> > > ROOTOFFSET 0 # Offset of root dbspace into device (Kbytes)
> > >
> > > ROOTSIZE 200000 # Size of root dbspace (Kbytes)> > >
> > > # Disk Mirroring Configuration Parameters
> > >
> > > MIRROR 0 # Mirroring flag (Yes = 1, No = 0)
> > >
> > > MIRRORPATH # Path for device containing mirrored root
> > >
> > > MIRROROFFSET 0 # Offset into mirrored device (Kbytes)> > >
> > > # Physical Log Configuration
> > >
> > > PHYSDBS rootdbs # Location (dbspace) of physical log
> > >
> > > PHYSFILE 2000 # Physical log file size (Kbytes)> > >
> > > # Logical Log Configuration
> > >
> > > LOGFILES 6 # Number of logical log files
> > >
> > > LOGSIZE 2000 # Logical log size (Kbytes)> > >
> > > # Diagnostics
> > >
> > > MSGPATH /dbms/informix/online.log # System message log file path
> > >
> > > CONSOLE /dev/console # System console message path> > >
> > > # To automatically backup logical logs, edit alarmprogram.sh and set
> > >
> > > # BACKUPLOGS=Y
> > >
> > > ALARMPROGRAM /dbms/informix/etc/no_log.sh # Alarm program path
> > >
> > > TBLSPACE_STATS 1 # Maintain tblspace statistics> > >
> > > # System Archive Tape Device
> > >
> > > TAPEDEV /dev/tapedev # Tape device path
> > >
> > > TAPEBLK 32 # Tape block size (Kbytes)
> > >
> > > TAPESIZE 10240 # Maximum amount of data to put on tape (Kbytes)
> > >@
Hi Bill,
Thanks I had checked my connection is using the soctcp that is provided
in ONCONFIG and sqlhost file.
I am just watching the shared memory segment allocation by informix.
thanks for suggetion.
- Sharad
"Bill Dare" <dareb@jevic.com> wrote in message
news:bgdqk1$91o$1@terabinaries.xmission.com...
>
> If a user connects to the server using shared memory or TCP/IP has nothing
> to do with how much shared memory is allocated for the threads running
from
> that users session. Shared memory connection vs. TCP/IP is simply the
> method of communication between the server and client.
>
> If you want to verify the type of connection:
>
> If the client app is running on the same machine, get the process id of
the
> client. Run:
> onstat -g ses | grep PID - the process id of the client> The session id is the first column in the onstat -g ses output. Then run:
> onstat -g ntu | grep SESSION_ID - the session id found above> The connection type is the second field. The run:
> onstat -g ses SESSION_ID - the session id found above> This will give you pretty much all the info you need for that users
session.
>
> Check out this site for info on the onstat -g output:
>
>
http://www.oninit.com/database/redirect.php?page=http://www.oninit.com/onsta
> t/index.html
>
> Regards,
> Bill Dare
>
> > -----Original Message-----
> > From: sharad [SMTP:sha_pawar@hotmail.com]
> > Sent: Friday, August 01, 2003 5:41 AM
> > To: informix-list@iiug.org
> > Subject: Re: Informix 9.40 crash after stress test.
> >
> > Hi Bill,
> >
> > Thanks for your suggetion . I had made changes as per suggetion so
> > rerunning
> > stress test. but I had one question about I had set connection protocol
is
> > soctcp ,I want to verify is now really using this protocol or not. if
not
> > how to get use this protocol. and why it is using the this much shared
> > memory ?
> >
> > Parameter in onconfig file :
> > NETTYPE soctcp,4,150,NET> >
> > sqlhosts:
> > fpt_server onsoctcp 9.182.25.49 INF> >
> > $INFORMIXSERVER fpt_server
> > - sharad
> >
> >
> >
> > "Bill Dare" <dareb@jevic.com> wrote in message
> > news:bgbf6v$p1o$1@terabinaries.xmission.com...
> > >
> > > The user controls whether he connects using a TCP/IP connection vs. a
> > SHM
> > > connection by setting the INFORMIXSERVER environment variable or
> > explicitly
> > > selecting a server in his SQL. You can see how a user is connected
> > using
> > > "onstat -g ses".
> > >
> > > But that's not your problem here.
> > >
> > > Your getting errno 24 because your server is allocating too many
shared
> > > memory segments.
> > > #define EMFILE 24 /* Too many open files */
> > >
> > > With these settings:
> > >
> > > SHMVIRTSIZE 87500 # initial virtual shared memory segment size
> > >
> > > SHMADD 16384 # Size of new shared memory segments (Kbytes)
> > >
> > > SHMTOTAL 419430 # Total shared memory (Kbytes). 0=>unlimited> > >
> > > you have the possibility of allocating (419430 - 87500) / 16384 = 20
> > shared
> > > memory segments. Obviously more than the OS is configured to allow.
> > Fix
> > > this particular problem by making SHMADD large enough or SHMTOTAL
small
> > > enough so that you do not exceed SHMSEG. Or set SHMSEG in the kernel
to
> > > allow the number you are allocating.
> > >
> > > Of course you still have a problem with a user trying to use to much
> > virtual
> > > memory. At least your server will not crash.
> > >
> > > Regards,
> > > Bill Dare
> > >
> > >
> > >
> > >
> > >
> > > > -----Original Message-----
> > > > From: sharad [SMTP:sha_pawar@hotmail.com]
> > > > Sent: Thursday, July 31, 2003 8:00 AM
> > > > To: informix-list@iiug.org
> > > > Subject: Informix 9.40 crash after stress test.
> > > >
> > > > Hi ,
> > > >
> > > > I had install informix 9.40 UC2 on AIX 5.2.
> > > > did anybody has idea how to check informix server is using tcp
> > connection
> > > > and not shared memory connection.How to check memory leak in
informix
> > > > server
> > > > ?
> > > >
> > > > Here is some portion of online.log file .
> > > > ===============================================================
> > > > 16:28:31 shmat: [EMFILE][24]: out of shared memory segments, check> > system
> > > > SHMSEG
> > > >
> > > > 16:28:31 shmdt: errno = 22
> > > > 16:28:31 out of virtual shared memory
> > > >
> > > > 16:28:31 shmat: [EMFILE][24]: out of shared memory segments, check> > system
> > > > SHMSEG
> > > >
> > > > 16:28:31 shmdt: errno = 22
> > > > 16:28:31 out of virtual shared memory
> > > >
> > > > 16:28:31 Assert Failed: No Exception Handler
> > > > 16:28:31 IBM Informix Dynamic Server Version 9.40.UC2
> > > > 16:28:31 Who: Session(16, informix@adolphus, 5002, 40215d00)
> > > > Thread(40, sqlexec, 401e5e68, 1)
> > > > File: mtex.c Line: 431
> > > > 16:28:31 Results: Exception Caught. Type: MT_EX_OS, Context: mem
> > > > 16:28:31 Action: Please notify IBM Informix Technical Support.
> > > > 16:28:31 stack trace for pid 32182 written to /tmp/af.410fd5e
> > > > 16:28:31 See Also: /tmp/af.410fd5e, shmem.410fd5e.0
> > > > 16:29:06 mtex.c, line 431, thread 40, proc id 32182, No Exception
> > > > Handler.
> > > > 16:29:08 The Master Daemon Died
> > > > 16:29:08 PANIC: Attempting to bring system down
> > > > ===============================================================> > > > onconfig :file
> > > > shared memory not initialized for INFORMIXSERVER 'fpt_server'
> > > >
> > > > Configuration File: /dbms/informix/etc/onconfig.file
> > > >
> > > >
> >
#*************************************************************************
> > > > *
> > > >
> > > > #
> > > >
> > > > # INFORMIX SOFTWARE, INC.
> > > >
> > > > #
> > > >
> > > > # Title: onconfig.std
> > > >
> > > > # Description: Informix Dynamic Server Configuration Parameters
> > > >
> > > > #
> > > >
> > > >
> >
#*************************************************************************
> > > > *
> > > >
> > > > # Root Dbspace Configuration
> > > >
> > > > ROOTNAME rootdbs # Root dbspace name> > > >
> > > > ROOTPATH /dbms/informix/data/fpt_data
> > > >
> > > > ROOTOFFSET 0 # Offset of root dbspace into device (Kbytes)
> > > >
> > > > ROOTSIZE 200000 # Size of root dbspace (Kbytes)> > > >
> > > > # Disk Mirroring Configuration Parameters
> > > >
> > > > MIRROR 0 # Mirroring flag (Yes = 1, No = 0)
> > > >
> > > > MIRRORPATH # Path for device containing mirrored root
> > > >
> > > > MIRROROFFSET 0 # Offset into mirrored device (Kbytes)> > > >
> > > > # Physical Log Configuration
> > > >
> > > > PHYSDBS rootdbs # Location (dbspace) of physical log
> > > >
> > > > PHYSFILE 2000 # Physical log file size (Kbytes)> > > >
> > > > # Logical Log Configuration
> > > >
> > > > LOGFILES 6 # Number of logic
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