What is "cond wait(sm_read)" ?
Posted in 1999
Topics: Platform-Specific Issues, Java & JDBC Development
Dear all, Universal Server 9.14.UC2 (to be UC7 after Y2K!), Sun E450 x 4CPUs, Solaris 2.6 I have a session that has just started to run very slow and I'm trying to understand why. The session is waiting on condition "sm_read". I know about the sm_poll, sm_listen, sm_discon threads but not about the sm_read "thread" ? Is Informix simply waiting on the client program, which is at the other end of a socket connection, to tell it what to do next - like condition "netnorm" ? i.e. the problem is in the client (which is a JIG Server - Java-Illustra-Gateway -> I'll be impressed if anyone knows of this legacy s/w!). INFORMIX-Universal Server Version 9.14.UC2 -- On-Line -- Up 07:56:38 -- 322568 Kbytes session #RSAM total used id user tty pid hostname threads memory memory 18282 informix - 26680 biscuit 1 303104 238912 tid name rstcb flags curstk status 18924 sqlexec 1667e6e8 Y--P--- 1288 1667e6e8 cond wait(sm_read) Memory pools count 1 name class addr totalsize freesize #allocfrag #freefrag 18282 V 16c0a018 303104 64192 479 12 name free used name free used overhead 0 120 scb 0 128 opentable 0 10072 filetable 0 1592 ru 0 224 log 0 2152 temprec 0 13896 keys 0 152 ralloc 0 170368 gentcb 0 8528 ostcb 0 2016 sort 0 56 sqscb 0 13552 rdahead 0 1600 hashfiletab 0 280 osenv 0 1608 buft_buffer 0 4272 sqtcb 0 3352 fragman 0 4120 shmblklist 0 456 Sess SQL Current Iso Lock SQL ISAM F.E. Id Stmt type Database Lvl Mode ERR ERR Vers 18282 SELECT live DR Not Wait 0 0 9.03 Current statement name : curs17 Current SQL statement : simple select on temporary table Geoff Poole Informix Database Administrator geoffrey.poole@ogs.co.uk Oxford GlycoSciences
The sm_read condition is the condition that the sqlexec thread is waiting on when it is waiting for somthing from the client application and the client is using a shared memory interface. Geoffrey Poole wrote: > Dear all, > Universal Server 9.14.UC2 (to be UC7 after Y2K!), Sun E450 x 4CPUs, Solaris > 2.6 > > I have a session that has just started to run very slow and I'm trying to > understand why. > The session is waiting on condition "sm_read". I know about the sm_poll, > sm_listen, sm_discon threads but not about the sm_read "thread" ? Is > Informix simply waiting on the client program, which is at the other end of > a socket connection, to tell it what to do next - like condition "netnorm" ? > i.e. the problem is in the client (which is a JIG Server - > Java-Illustra-Gateway -> I'll be impressed if anyone knows of this legacy > s/w!). > > INFORMIX-Universal Server Version 9.14.UC2 -- On-Line -- Up 07:56:38 -- > 322568 Kbytes > > session #RSAM total used > id user tty pid hostname threads memory memory > 18282 informix - 26680 biscuit 1 303104 238912 > > tid name rstcb flags curstk status > 18924 sqlexec 1667e6e8 Y--P--- 1288 1667e6e8 cond wait(sm_read) > > Memory pools count 1 > name class addr totalsize freesize #allocfrag #freefrag > 18282 V 16c0a018 303104 64192 479 12 > > name free used name free used > > overhead 0 120 scb 0 128 > > opentable 0 10072 filetable 0 1592 > > ru 0 224 log 0 2152 > > temprec 0 13896 keys 0 152 > > ralloc 0 170368 gentcb 0 8528 > > ostcb 0 2016 sort 0 56 > > sqscb 0 13552 rdahead 0 1600 > > hashfiletab 0 280 osenv 0 1608 > > buft_buffer 0 4272 sqtcb 0 3352 > > fragman 0 4120 shmblklist 0 456 > > Sess SQL Current Iso Lock SQL ISAM F.E. > Id Stmt type Database Lvl Mode ERR ERR Vers > 18282 SELECT live DR Not Wait 0 0 9.03 > > Current statement name : curs17 > > Current SQL statement : > simple select on temporary table > > Geoff Poole > Informix Database Administrator > geoffrey.poole@ogs.co.uk > Oxford GlycoSciences -- Madison Pruet =========================================== Enterprise Replication Product Developement Dallas, Texas Informix Software ===========================================