Question: Online 7.14 not shutting dwn completly
Posted in 1998
Hi All,
I have a problem. We have a system at work ( NCR 3555 running Informix
ODS 7.14, TOPEND 02.02.02.00 with a serious application built for it. 186gig
of dataspace mirrored, and in need of some serious DB maintenance, 2 gig of
ram and 16 pentium 133 processors, running NCR MP-RAS 3.00.02, Symbios disk
arrays running Raid 5, )
that has a nasty problem of:
A) During shutdown, informix removes all shared memory segments, seemingly
frees all memory ( We nail memory on this system for better performance )
but there are lagging oninit session hanging around on the system ( We
press this system really realy hard and it does a lot of IPC ) with it's
children in a zombie state.
B) In turn, Memory seems to slowly but surely creep away as the virtual
portion of informix memory slowly gets larger. They ( informix
consultants ) have said that there is a problem with the 'like' and 'as'
keywords and we have 5500 or so occurences of theses keywords built into
some of the primatives that we have defined.
C) What's even weirder is that when he marks the instance as being stopped,
Memory is not totally freed on the system. A large portion of swap ( shared
memory ) and real memory ( backing store ) is slowly being freed it
eventuallt frees itself after about 45 minutes but it is very annoying
especially trying to schedule work to be done on this system during system
downtime.
D) Understaning that NCR memory is not on a 4 meg boundary, the phisyscal
ram chips are proprietary ( 246 meg on a chip or somthing like that ),
memory can potentially become very fragmented especially doing A LOT OF
INTERPROCESS COMUNICATION. AT ANY ONE TIME, WE MAY HAVE UPWARDS OF 500
PROCESSES OR SO WITH A DATABASE CONNECTION AT LEAST 20 CURSORS OPEN AT ANY
ONE TIME DOING WORK. ( SOME OF THESE PROCESSES GET PUT INTO THE REALTIME
CLASS AND DO WORK IN MEMORY!!! )
My questions are:
1) How can I prevent the system from hanging after about 3 days of pounding
the snot out of the system
( upgrade 7.3UC5 I know this and it is not an easy process )
2) Is it true of a memory leak with 'like' and 'as', and how without
recoding database primatives can we get around this?
Here is our onconfig settings
INFORMIX-OnLine Version 7.14.U -- On-Line -- Up 1 days 17:13:56 --
697984 Kbytes
# Root Dbspace Configuration
ROOTNAME rootdbs # Root dbspace nameROOTPATH /dev/prodi/prod-100 # Path for device containing root
dbspace
ROOTOFFSET 0 # Offset of root dbspace into device
(Kbytes)
ROOTSIZE 50000 # Size of root dbspace (Kbytes)
# Disk Mirroring Configuration Parameters
MIRROR 1 # Mirroring flag (Yes = 1, No = 0)
MIRRORPATH /dev/prodi/prod-100m # Path for device containing mirrored
root
MIRROROFFSET 0 # Offset into mirrored device (Kbytes)
# Physical Log Configuration
PHYSDBS physlog # Location (dbspace) of physical log
PHYSFILE 200000 # Physical log file size (Kbytes)
# Logical Log Configuration
LOGFILES 40 # Number of logical log files
LOGSIZE 1000 # Logical log size (Kbytes)
# Diagnostics
MSGPATH /opt/informix/logs/patron.log
# System message log file path
CONSOLE /opt/informix/logs/patron.con
# System console message path
ALARMPROGRAM # Alarm program path
# System Archive Tape Device
TAPEDEV /dev/prodi/archive_tape # Tape Device path
TAPEBLK 32 # Tape block size (Kbytes)
TAPESIZE 35000000 # Maximum amount of data to put on tape
(Kbytes)
# Log Archive Tape Device
LTAPEDEV /dev/prodi/log_tape # Log tape device path
LTAPEBLK 32 # Log tape block size (Kbytes)
LTAPESIZE 8000000 # Max amount of data to put on log tape
(Kbytes)
# Optical
STAGEBLOB # INFORMIX-OnLine/Optical staging area
# System Configuration
SERVERNUM 1 # Unique id corresponding to a OnLineinstance
DBSERVERNAME patron # Name of default database serverDBSERVERALIASES patron_net,privpdb_net # List of alternate dbservernames
DEADLOCK_TIMEOUT 300 # Max time to wait of lock in distributed
env.
RESIDENT 1 # Forced residency flag (Yes = 1, No = 0)
MULTIPROCESSOR 1 # 0 for single-processor, 1 formulti-processor
NUMCPUVPS 9 # Number of user (cpu) vps
SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vps toone
NOAGE 1 # Process aging
AFF_SPROC 0 # Affinity start processor
AFF_NPROCS 0 # Affinity number of processors# Shared Memory Parameters
LOCKS 300000 # Maximum number of locks
BUFFERS 40000 # Maximum number of shared buffers
NUMAIOVPS 1 # Number of IO vps
PHYSBUFF 512 # Physical log buffer size (Kbytes)
LOGBUFF 32 # Logical log buffer size (Kbytes)LOGSMAX 50 # Maximum number of logical log files
CLEANERS 32 # Number of buffer cleaner processes
SHMBASE 0x40000000 # Shared memory base address
SHMVIRTSIZE 589824 # initial virtual shared memory segment size
SHMADD 65536 # Size of new shared memory segments
(Kbytes)
SHMTOTAL 839680 # Total shared memory (Kbytes). 0=>unlimited
CKPTINTVL 300 # Check point interval (in sec)
LRUS 32 # Number of LRU queues
LRU_MAX_DIRTY 5 # LRU percent dirty begin cleaning limit
LRU_MIN_DIRTY 3 # LRU percent dirty end cleaning limit
LTXHWM 40 # Long transaction high water markpercentage
LTXEHWM 50 # Long transaction high water mark
(exclusive)
TXTIMEOUT 0x12c # Transaction timeout (in sec)
STACKSIZE 32 # Stack size (Kbytes)
# System Page Size
# BUFFSIZE - OnLine no longer supports this configuration parameter.
# To determine the page size used by OnLine on your platform
# see the last line of output from the command, 'onstat -b'.
# Recovery Variables
# OFF_RECVRY_THREADS:
# Number of parallel worker threads during fast recovery or an offline
restore.
# ON_RECVRY_THREADS:
# Number of parallel worker threads during an online restore.
OFF_RECVRY_THREADS 10 # Default number of offline workerthreads
ON_RECVRY_THREADS 4 # Default number of online worker threads
# Data Replication Variables
# DRAUTO: 0 manual, 1 retain type, 2 reverse type
DRAUTO 0 # DR automatic switchover
DRINTERVAL 30 # DR max time between DR buffer flushes (in
sec)
DRTIMEOUT 30 # DR network timeout (in sec)
DRLOSTFOUND /opt/informix/7.14/etc/proddir.lost_found # DR lost+foundfile path
# Read Ahead Variables
#RA_PAGES 40