shared memory full
Posted in 2014
Topics: Storage & Space Management, Security, Permissions & Auditing, Platform-Specific Issues, Versions, Editions & End-of-Life
Hi,
Today, memory of our informix instance increased from 2.5GB to 8GB within 9
minutes.
That instance is running with 2.5GB shared memory for around last 4 months.
8GB is defined as shmtotal so further requests for memory chunks overturned by
the instance.
Usually we have session with a few KB memory to around 10MB memory.
Sorting the sessions on memory we got a session aquiring 1.83GB as can be seen
below:
onstat -g ses
950863 appuser - -1 fmcpdbsp 1 9551872 9526088 off
955301 appuser - -1 fmcpappp 1 9908224 9822320 off
954997 appuser - -1 fmcpappp 1 9928704 9846984 off
945865 appuser - -1 fmcpappp 1 10002432 9965144 off
950909 appuser - -1 fmcpappp 1 10113024 10069920 off
947189 appuser - -1 fmcpappp 1 10407936 10399920 off
955492 appuser - -1 CASUN185 1 1971294208 1961083904 off
-bash-3.2$ onstat -g ses 955492
IBM Informix Dynamic Server Version 11.50.FC8W3 -- On-Line (Prim) -- Up 97
days 09:11:52 -- 8259584 Kbytes
session effective #RSAM total used dynamic
id user user tty pid hostname threads memory memory explain
955492 appuser - - -1 CASUN185 1 1981358080 1970916600 off
tid name rstcb flags curstk status
954290 sqlexec 15d3efb78 ---P--- 7855 running-
Memory pools count 2
name class addr totalsize freesize #allocfrag #freefrag
955492 V 14804b040 1982713856 10469440 2729374 37206
955492*O0 V 17568e040 4096 808 1 1
name free used name free used
overhead 0 6576 mtmisc 0 72
scb 0 144 opentable 0 238856560
filetable 0 6072 ru 0 600
misc 0 80 log 0 16536
temprec 0 21664 keys 0 736
ralloc 0 1524405528 gentcb 0 1712
ostcb 0 2816 sqscb 0 9639672
sql 0 72 rdahead 0 352
hashfiletab 0 552 osenv 0 2992
buft_buffer 0 2168 sqtcb 0 3177936
fragman 0 196105192 udr 0 168
sqscb info
scb sqscb optofc pdqpriority optcompind directives
16c105b88 133144028 0 0 2 1
Sess SQL Current Iso Lock SQL ISAM F.E.
Id Stmt type Database Lvl Mode ERR ERR Vers Explain
955492 SELECT inventory CR Wait 5 0 0 9.28 Off
Current Role : app_role
Current SQL statement :
Last parsed SQL statement :
SELECT 1 FROM SYSTABLES
WHERE TABID = 1
Operating system: Sun Solaris
The second largest session w.r.t. memory was holding 9.9 MB. We are unable to
find or guess
where the rest of memory gone. Also:
how a session can consume so much memory?
if cummulative memory of session (through onstat -g ses) is consuming only 20%
of total instance memory,
why we receing the messages in online log that no more memory chunks are
allowed as shmtotal limit reached
If one of your sessions allocated too much locks you may have seen a lock
table growth.
This will consume memory (sometimes a lot) but will leave evidences in
online.log
Your session may have got a lot of prepared statements that were not freed.
Most times bad Java coding is the cause.
An onstat -g stm SID may show you this.
Regards.
On Mon, Jan 13, 2014 at 6:27 PM, KAMRAN HAQ <khaq@i2cinc.com> wrote:
> Hi,
> Today, memory of our informix instance increased from 2.5GB to 8GB within 9
> minutes.
> That instance is running with 2.5GB shared memory for around last 4 months.
> 8GB is defined as shmtotal so further requests for memory chunks
> overturned by
> the instance.
> Usually we have session with a few KB memory to around 10MB memory.
> Sorting the sessions on memory we got a session aquiring 1.83GB as can be
> seen
> below:
>
> onstat -g ses>
> 950863 appuser - -1 fmcpdbsp 1 9551872 9526088 off
> 955301 appuser - -1 fmcpappp 1 9908224 9822320 off
> 954997 appuser - -1 fmcpappp 1 9928704 9846984 off
> 945865 appuser - -1 fmcpappp 1 10002432 9965144 off
> 950909 appuser - -1 fmcpappp 1 10113024 10069920 off
> 947189 appuser - -1 fmcpappp 1 10407936 10399920 off
> 955492 appuser - -1 CASUN185 1 1971294208 1961083904 off
> -bash-3.2$ onstat -g ses 955492>
> IBM Informix Dynamic Server Version 11.50.FC8W3 -- On-Line (Prim) -- Up 97
> days 09:11:52 -- 8259584 Kbytes>
> session effective #RSAM total used dynamic
> id user user tty pid hostname threads memory memory explain
> 955492 appuser - - -1 CASUN185 1 1981358080 1970916600 off
>
> tid name rstcb flags curstk status
> 954290 sqlexec 15d3efb78 ---P--- 7855 running-
>
> Memory pools count 2
> name class addr totalsize freesize #allocfrag #freefrag
> 955492 V 14804b040 1982713856 10469440 2729374 37206
> 955492*O0 V 17568e040 4096 808 1 1
>
> name free used name free used
> overhead 0 6576 mtmisc 0 72
> scb 0 144 opentable 0 238856560
> filetable 0 6072 ru 0 600
> misc 0 80 log 0 16536
> temprec 0 21664 keys 0 736
> ralloc 0 1524405528 gentcb 0 1712
> ostcb 0 2816 sqscb 0 9639672
> sql 0 72 rdahead 0 352
> hashfiletab 0 552 osenv 0 2992
> buft_buffer 0 2168 sqtcb 0 3177936
> fragman 0 196105192 udr 0 168
>
> sqscb info
> scb sqscb optofc pdqpriority optcompind directives
> 16c105b88 133144028 0 0 2 1
>
> Sess SQL Current Iso Lock SQL ISAM F.E.
> Id Stmt type Database Lvl Mode ERR ERR Vers Explain
> 955492 SELECT inventory CR Wait 5 0 0 9.28 Off
>
> Current Role : app_role
>
> Current SQL statement :
>
> Last parsed SQL statement :
> SELECT 1 FROM SYSTABLES>
> WHERE TABID = 1
>
> Operating system: Sun Solaris
>
> The second largest session w.r.t. memory was holding 9.9 MB. We are unable
> to
> find or guess
> where the rest of memory gone. Also:
> how a session can consume so much memory?
> if cummulative memory of session (through onstat -g ses) is consuming only
> 20%
> of total instance memory,
> why we receing the messages in online log that no more memory chunks are
> allowed as shmtotal limit reached
>
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--
Fernando Nunes
Portugal
http://informix-technology.blogspot.com
My email works... but I don't check it frequently...
--089e01176cc3d14dc704efde5697
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