Re: onperf vs onstat information
Posted in 2000
In article <8d1shb$e1n$1@nnrp1.deja.com>,
Mister Creosote <glynb@my-deja.com> wrote:
> I am struggling to make sense of some info I am being presented with
by
> onperf and onstat.
>
> onstat -g seg output :->
> Informix Dynamic Server Version 7.31.UC2 -- On-Line -- Up 00:04:25
--
> 188416 Kbytes
>
> Segment Summary:
> id key addr size ovhd class blkused
blkfree
> 509 1381451777 82000000 58720256 1748 R 6688 480
> 510 1381451778 85800000 134217728 2640 V 380 16004
> 511 1381451779 8d800000 4194304 656 M 54 458
> Total: - - 197132288 - - 7122 16942
>
> Am I readng this wrong, or does the final section in the first line
> mean I have some 188416Kb of Shared Memory allocated to this instance?
> If this IS the case, how come onperf/tools/status for this instance
> shows only some 2.97Mb rather than 184Mb? I'm sure this is a simple
one
> so accept my apologies in advance. The main reason for the question is
> that we have some 640Mb physical RAM in the machine which is dedicated
> to IDS (aren't we all?) and I want to maximise the use of this RAM.
> Could someone also explain the use of the SHMVIRTSIZE entry in
> $ONCONFIG - again my understanding is that this is the initial size of
> the virtual shared memory segment (in Kb) - that being the case, our
> values do not equate to what I am seeing above.
>
Yes, that 184MB is the total amount currently taken up by shared memory,
but it isn't solely dependant on SHMVIRTSIZE. Once that memory runs
out, Informix starts allocating additional blocks, each block equal to
SHMADD, up to a maximum of SHMTOTAL. You have SHMADD set to 8MB, so it
looks like you have allocated 7 additional segments. It would be a good
idea to increase SHMVIRTSIZE to about 10% more than the 188416 so that
Informix doesn't have to use that fragmented shared memory, since it
becomes less efficient when it has to allocate more than 1.
Doing this will make Informix start out with 200000 KB of memory
or so. Another good idea would be to change your SHMTOTAL to around
512000. This will keep informix from trying to allocate more memory
than exists on the box, and it will prevent Informix from allocating too
much memory. If you don't, it's possible that Informix will take up all
(or close to all) of the memory on the box, not leaving any for the OS
or other applications that run on the box. (Things that run from cron,
OS, backup stuff, that sort of thing.)
About your onperf question, I haven't a clue.
> TIA
>
> Mr Creosote
>
> <<<<<<<<<<< Contents of $ONCONFIG >>>>>>>>>>>>>>>>
>
> #
> # ##### ###### #### #####
> # # # # #
> # # ##### #### #
> # # # # #
> # # # # # #
> # # ###### #### #
> #
>
#***********************************************************************
> ***
> #
> # INFORMIX SOFTWARE, INC.
> #
> # Title: onconfig.std
> # Description: INFORMIX-OnLine Configuration Parameters
> #
>
#***********************************************************************
> ***
>
> # Root Dbspace Configuration
>
> ROOTNAME rootdbs # Root dbspace name> ROOTPATH /usr/informix/testchk1 # Path for device containing
> root dbspace
> ROOTOFFSET 1024 # Offset of root dbspace into device
> (Kbytes)
> ROOTSIZE 650000 # 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 102400 # Physical log file size (Kbytes)>
> # Logical Log Configuration
>
> LOGFILES 10 # Number of logical log files
> LOGSIZE 51200 # Logical log size (Kbytes)>
> # Diagnostics
>
> MSGPATH /informix/online.logt # System message log file path
> CONSOLE /dev/console # System console message path
> ALARMPROGRAM /usr/informix/log_full_test.sh # Alarm program path>
> # System Archive Tape Device
>
> #TAPEDEV /dev/null # Tape device path
> TAPEDEV /dev/dat # Tape device path
> TAPEBLK 32 # Tape block size (Kbytes)
> TAPESIZE 4096000 # Maximum amount of data to put ontape
> (Kbytes)
>
> # Log Archive Tape Device
>
> LTAPEDEV /dev/null # Log tape device path> #LTAPEDEV /dev/dat # Log tape device path
> LTAPEBLK 16 # Log tape block size (Kbytes)
> LTAPESIZE 10240 # Max amount of data to put on logtape
> (Kbytes)
>
> # Optical
>
> STAGEBLOB # INFORMIX-OnLine/Optical staging area
>
> # System Configuration
>
> SERVERNUM 1 # Unique id corresponding to a OnLine> instance
> DBSERVERNAME enigmat # Name of default database server
> DBSERVERALIASES enigmat_shm # List of alternate dbservernames
> NETTYPE tlitcp,1,10,NET # Configure poll thread(s) for nettype
> NETTYPE ipcshm,1,40,CPU # Configure poll thread(s) for nettype
> DEADLOCK_TIMEOUT 60 # Max time to wait of lock in> distributed env.
> RESIDENT 0 # Forced residency flag (Yes = 1, No =
> 0)
>
> MULTIPROCESSOR 1 # 0 for single-processor, 1 for multi-> processor
> NUMCPUVPS 2 # Number of user (cpu) vps
> SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vps> to one
>
> NOAGE 0 # Process aging
> AFF_SPROC 0 # Affinity start processor
> AFF_NPROCS 0 # Affinity number of processors>
> # Shared Memory Parameters
>
> LOCKS 200000 # Maximum number of locks
> BUFFERS 20000 # Maximum number of shared buffers
> NUMAIOVPS 1 # Number of IO vps
> PHYSBUFF 32 # Physical log buffer size (Kbytes)
> LOGBUFF 32 # Logical log buffer size (Kbytes)> LOGSMAX 20 # Maximum number of logical log files
> CLEANERS 3 # Number of buffer cleaner processes
> SHMBASE 0x82000000 # Shared memory base address
> SHMVIRTSIZE 131072 # initial virtual shared memorysegment
> size
> SHMADD 8192 # Size of new shared memory segments
> (Kbytes)
> SHMTOTAL 0 # Total shared memory (Kbytes).
> 0=>unlimited
> CKPTINTVL 300 # Check point interval (in sec)
> LRUS 8 # Number of LRU queues
> LRU_MAX_DIRTY 60 # LRU percent dirty begin cleaninglimit
> LRU_MIN_DIRTY