This is a discussion on SHARED MEMORY ISSUE - SORRY FOR DIRECTLY ASKING THIS. within the Informix forums, part of the Database Server Software category; --> Dear Team, Thank you Art and Jonathan for the help so far. I just want to know who difficult ...
| |||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Dear Team, Thank you Art and Jonathan for the help so far. I just want to know who difficult to change the LINUX settings so that I can allocate around 2.6GB memory from my current setting of 1.7GB. The story so far to those who have missed my original email .... Following is my "ipcs" settings. ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status 0x52574801 0 root 660 536870912 31 locked 0x52574802 32769 root 660 536870912 31 locked 0x52574803 65538 root 660 346374144 31 locked 0x52574804 98307 root 660 327680000 31 0x52574805 131076 root 666 655360 46 0x52574806 163845 root 666 655360 43 0x52574807 196614 root 666 655360 38 0x52574808 229383 root 666 655360 45 0x52574809 262152 root 666 655360 43 0x00000000 294921 informix 600 46084 2 dest ------ Semaphore Arrays -------- key semid owner perms nsems status 0x00000000 0 root 660 32 0x00000000 32769 root 666 57 0x00000000 65538 root 666 57 0x00000000 98307 root 666 57 0x00000000 131076 root 666 57 0x00000000 163845 root 666 57 ------ Message Queues -------- key msqid owner perms used-bytes messages ================================================== ========== This the settings for maps ================================================== ========== #cd /proc/1420(informix processid)/maps 08048000-084b1000 r-xp 00000000 08:03 540702 /usr/informix/bin/oninit 084b1000-08563000 rw-p 00468000 08:03 540702 /usr/informix/bin/oninit 08563000-0859d000 rwxp 00000000 00:00 0 40000000-40016000 r-xp 00000000 08:08 73133 /lib/ld-2.2.4.so 40016000-40017000 rw-p 00015000 08:08 73133 /lib/ld-2.2.4.so 40017000-40018000 rw-p 00000000 00:00 0 40018000-40019000 r-xp 00000000 08:03 197893 /usr/informix/lib/iosm07a.so 40019000-4001a000 rw-p 00000000 08:03 197893 /usr/informix/lib/iosm07a.so 4001a000-4001b000 rw-p 00000000 00:00 0 4001b000-40025000 r-xp 00000000 08:08 73175 /lib/libnss_nisplus-2.2.4.so 40025000-40026000 rw-p 00009000 08:08 73175 /lib/libnss_nisplus-2.2.4.so 40029000-4004b000 r-xp 00000000 08:08 73127 /lib/i686/libm-2.2.4.so 4004b000-4004c000 rw-p 00021000 08:08 73127 /lib/i686/libm-2.2.4.so 4004c000-4004f000 r-xp 00000000 08:08 73146 /lib/libdl-2.2.4.so 4004f000-40050000 rw-p 00002000 08:08 73146 /lib/libdl-2.2.4.so 40050000-40055000 r-xp 00000000 08:08 73144 /lib/libcrypt-2.2.4.so 40055000-40056000 rw-p 00004000 08:08 73144 /lib/libcrypt-2.2.4.so 40056000-4007d000 rw-p 00000000 00:00 0 4007d000-401b0000 r-xp 00000000 08:08 73125 /lib/i686/libc-2.2.4.so 401b0000-401b5000 rw-p 00132000 08:08 73125 /lib/i686/libc-2.2.4.so 401b5000-401ba000 rw-p 00000000 00:00 0 401ba000-401c4000 r-xp 00000000 08:08 73167 /lib/libnss_files-2.2.4.so 401c4000-401c5000 rw-p 00009000 08:08 73167 /lib/libnss_files-2.2.4.so 401d4000-401e7000 r-xp 00000000 08:08 73151 /lib/libnsl-2.2.4.so 4004f000-40050000 rw-p 00002000 08:08 73146 /lib/libdl-2.2.4.so 40050000-40055000 r-xp 00000000 08:08 73144 /lib/libcrypt-2.2.4.so 40055000-40056000 rw-p 00004000 08:08 73144 /lib/libcrypt-2.2.4.so 40056000-4007d000 rw-p 00000000 00:00 0 4007d000-401b0000 r-xp 00000000 08:08 73125 /lib/i686/libc-2.2.4.so 401b0000-401b5000 rw-p 00132000 08:08 73125 /lib/i686/libc-2.2.4.so 401b5000-401ba000 rw-p 00000000 00:00 0 401ba000-401c4000 r-xp 00000000 08:08 73167 /lib/libnss_files-2.2.4.so 401c4000-401c5000 rw-p 00009000 08:08 73167 /lib/libnss_files-2.2.4.so 401d4000-401e7000 r-xp 00000000 08:08 73151 /lib/libnsl-2.2.4.so 401e7000-401e8000 rw-p 00012000 08:08 73151 /lib/libnsl-2.2.4.so 401e8000-401ea000 rw-p 00000000 00:00 0 50000000-70000000 rw-s 00000000 00:04 0 /SYSV52574801 (deleted) 70000000-90000000 rw-s 00000000 00:04 32769 /SYSV52574802 (deleted) 90000000-a4a54000 rw-s 00000000 00:04 65538 /SYSV52574803 (deleted) a4a54000-b82d4000 rw-s 00000000 00:04 98307 /SYSV52574804 (deleted) b82d4000-b8374000 rw-s 00000000 00:04 131076 /SYSV52574805 (deleted) b8374000-b8414000 rw-s 00000000 00:04 163845 /SYSV52574806 (deleted) b8414000-b84b4000 rw-s 00000000 00:04 196614 /SYSV52574807 (deleted) b84b4000-b8554000 rw-s 00000000 00:04 229383 /SYSV52574808 (deleted) b8554000-b85f4000 rw-s 00000000 00:04 262152 /SYSV52574809 (deleted) bffd5000-bffee000 rwxp fffe8000 00:00 0 "maps" [readonly] 36L, 2395C The story so far to those who have missed my original email .... I am trying to increase shared memory setting on our server running on a DELL poweredge 6650 with 4GB RAM and Linux 2.4.9-e.3smp. For some reason if I set the buffers value to anything morethan 700000 it crashed saying can't allocate shared memory. Here I don't want to increase the Virtual segment but the Buffers. I tried the following SHMMAX values but Informix doesn't seems to like any of the values set through sysctl.conf during the server bootup. #kernel.shmmax = 33554432 - release note value #kernel.shmmax = 134217728 #kernel.shmmax = 2*536870912 (all above values failed with more than 700000 buffers) SHMBASE 0x50000000 # Shared memory base address in onconfig - (release note says this should be set to 0x1000000L. But when you do that you can't allocate shared memory more than 700 MB) kernel.shmmax = 536870912 (current value) kernel.shmmin = 1 kernel.shmmni = 128 kernel.shmseg = 128 kernel.semmns = 4096 kernel.semmnu = 4096 kernel.semume = 32 kernel.semmap = 4096 kernel.semmsl = 100 I have no clue why It can't go beyond the shared memeory value of 1896000 KB (When buffers value set above 700000). What am I missing here?? Any answer to this is much appreciated. I have included the cat /proc/meminfo, onconfig and online.log values for you to get an idea. cat /proc/meminfo total: used: free: shared: buffers: cached: Mem: 3692048384 2287001600 1405046784 1521373184 107352064 151183360 Swap: 2146754560 0 2146754560 MemTotal: 3605516 kB MemFree: 1372116 kB MemShared: 1485716 kB Buffers: 104836 kB Cached: 147640 kB SwapCached: 0 kB Active: 136932 kB Inact_dirty: 1601260 kB Inact_clean: 0 kB Inact_target: 917488 kB HighTotal: 2752448 kB HighFree: 699988 kB LowTotal: 853068 kB LowFree: 672128 kB SwapTotal: 2096440 kB SwapFree: 2096440 kB BigPagesFree: 0 kB Informix Dynamic Server Version 7.31.UD6 -- On-Line -- Up 09:23:06 -- 1896196 Kbytes Configuration File: /usr/informix/etc/onconfig.malco #************************************************* ************************* # # INFORMIX SOFTWARE, INC. # # Title: onconfig.std # Description: Informix Dynamic Server Configuration Parameters # #************************************************* ************************* # Root Dbspace Configuration ROOTNAME rootdbs # Root dbspace name ROOTPATH /usr/informix/data/db01 # Path for device containing root dbspace ROOTOFFSET 2 # Offset of root dbspace into device (Kbytes) ROOTSIZE 1048576 # 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 plogdbs # Location (dbspace) of physical log PHYSFILE 262140 # Physical log file size (Kbytes) # Logical Log Configuration LOGFILES 510 # Number of logical log files LOGSIZE 1024 # Logical log size (Kbytes) # Diagnostics MSGPATH /var/informix/online.log # System message log file path CONSOLE /dev/tty1 # System console message path ALARMPROGRAM /usr/informix/etc/log_full.sh # Alarm program path SYSALARMPROGRAM /usr/informix/etc/evidence.sh # System Alarm program path TBLSPACE_STATS 1 # System Archive Tape Device TAPEDEV /dev/vm0 # Tape device path #TAPEDEV /dev/null # Tape device path TAPEBLK 512 # Tape block size (Kbytes) TAPESIZE 100000000 # Maximum amount of data to put on tape (Kbytes) # Log Archive Tape Device LTAPEDEV /dev/vm0 # Log tape device path #LTAPEDEV /dev/null # Log tape device path LTAPEBLK 512 # Log tape block size (Kbytes) LTAPESIZE 100000000 # Max amount of data to put on log tape (Kbytes) # Optical STAGEBLOB # Informix Dynamic Server/Optical staging area # System Configuration SERVERNUM 1 # Unique id corresponding to a Dynamic Server instance DBSERVERNAME malco_1 # Name of default database server DBSERVERALIASES malco_2,mallive # List of alternate dbservernames NETTYPE ipcshm,5,50,CPU # Configure poll thread(s) for nettype NETTYPE soctcp,2,25,NET # Configure poll thread(s) for nettype DEADLOCK_TIMEOUT 30 # 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 for multi-processor NUMCPUVPS 7 # 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 # Affinity start processor AFF_NPROCS # Affinity number of processors # Shared Memory Parameters #LOCKS 65536 # Maximum number of locks LOCKS 250000 BUFFERS 648216 # Maximum number of shared buffers NUMAIOVPS 16 # Number of IO vps PHYSBUFF 96 # Physical log buffer size (Kbytes) LOGBUFF 32 # Logical log buffer size (Kbytes) LOGSMAX 512 # Maximum number of logical log files CLEANERS 108 # Number of buffer cleaner processes SHMBASE 0x50000000 # Shared memory base address SHMVIRTSIZE 262144 # initial virtual shared memory segment size SHMADD 65536 # Size of new shared memory segments (Kbytes) SHMTOTAL 2048000 # Total shared memory (Kbytes). 0=>unlimited CKPTINTVL 300 # Check point interval (in sec) LRUS 128 # Number of LRU queues LRU_MAX_DIRTY 2 # LRU percent dirty begin cleaning limit LRU_MIN_DIRTY 1 # LRU percent dirty end cleaning limit LTXHWM 40 # Long transaction high water mark percentage LTXEHWM 60 # Long transaction high water mark (exclusive) TXTIMEOUT 0x12c # Transaction timeout (in sec) STACKSIZE 32 # Stack size (Kbytes) # System Page Size # BUFFSIZE - Dynamic Server no longer supports this configuration parameter. # To determine the page size used by Dynamic Server 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 worker threads ON_RECVRY_THREADS 1 # 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 /usr/informix/etc/dr.lostfound # DR lost+found file path # CDR Variables CDR_LOGBUFFERS 2048 # size of log reading buffer pool (Kbytes) CDR_EVALTHREADS 1,2 # evaluator threads (per-cpu-vp,additional) CDR_DSLOCKWAIT 5 # DS lockwait timeout (seconds) CDR_QUEUEMEM 4096 # Maximum amount of memory for any CDR queue (Kbytes) # Backup/Restore variables BAR_ACT_LOG /tmp/bar_act.log BAR_MAX_BACKUP 0 BAR_RETRY 1 BAR_NB_XPORT_COUNT 10 BAR_XFER_BUF_SIZE 31 # Informix Storage Manager variables ISM_DATA_POOL ISMData # If the data pool name is changed, be sure to # update $INFORMIXDIR/bin/onbar. Change to # ism_catalog -create_bootstrap -pool <new name> ISM_LOG_POOL ISMLogs # Read Ahead Variables RA_PAGES # Number of pages to attempt to read ahead RA_THRESHOLD # Number of pages left before next group # DBSPACETEMP: # Dynamic Server equivalent of DBTEMP for SE. This is the list of dbspaces # that the Dynamic Server SQL Engine will use to create temp tables etc. # If specified it must be a colon separated list of dbspaces that exist # when the Dynamic Server system is brought online. If not specified, or if # all dbspaces specified are invalid, various ad hoc queries will create # temporary files in /tmp instead. DBSPACETEMP tem1dbs,tmp2dbs,tmp3dbs,tmp4dbs # Default temp dbspaces # DUMP*: # The following parameters control the type of diagnostics information which # is preserved when an unanticipated error condition (assertion failure) occurs # during Dynamic Server operations. # For DUMPSHMEM, DUMPGCORE and DUMPCORE 1 means Yes, 0 means No. DUMPDIR /tmp # Preserve diagnostics in this directory DUMPSHMEM 1 # Dump a copy of shared memory DUMPGCORE 0 # Dump a core image using 'gcore' DUMPCORE 0 # Dump a core image (Warning:this aborts Dynamic Server) DUMPCNT 1 # Number of shared memory or gcore dumps for # a single user's session FILLFACTOR 90 # Fill factor for building indexes # method for Dynamic Server to use when determining current time USEOSTIME 0 # 0: use internal time(fast), 1: get time from OS(slow) # Parallel Database Queries (pdq) MAX_PDQPRIORITY 80 # Maximum allowed pdqpriority DS_MAX_QUERIES # Maximum number of decision support queries DS_TOTAL_MEMORY # Decision support memory (Kbytes) DS_MAX_SCANS 1048576 # Maximum number of decision support scans DATASKIP off # List of dbspaces to skip # OPTCOMPIND # 0 => Nested loop joins will be preferred (where # possible) over sortmerge joins and hash joins. # 1 => If the transaction isolation mode is not # "repeatable read", optimizer behaves as in (2) # below. Otherwise it behaves as in (0) above. # 2 => Use costs regardless of the transaction isolation # mode. Nested loop joins are not necessarily # preferred. Optimizer bases its decision purely # on costs. OPTCOMPIND 2 # To hint the optimizer ONDBSPACEDOWN 2 # Dbspace down option: 0 = CONTINUE, 1 = ABORT, 2 = WAIT LBU_PRESERVE 1 # Preserve last log for log backup OPCACHEMAX 0 # Maximum optical cache size (Kbytes) # HETERO_COMMIT (Gateway participation in distributed transactions) # 1 => Heterogeneous Commit is enabled # 0 (or any other value) => Heterogeneous Commit is disabled HETERO_COMMIT 0 # Optimization goal: -1 = ALL_ROWS(Default), 0 = FIRST_ROWS OPT_GOAL -1 # Optimizer DIRECTIVES ON (1/Default) or OFF (0) DIRECTIVES 1 # Status of restartable restore RESTARTABLE_RESTORE off CDR_LOGDELTA 30 # % of log space allowed in queue memory CDR_NUMCONNECT 16 # Expected connections per server CDR_NIFRETRY 300 # Connection retry (seconds) CDR_NIFCOMPRESS 0 # Link level compression (-1 never, 0 none, 9 max) BAR_DEBUG_LOG /tmp/bar_dbug.log # ON-Bar Debug Log - not in /tmp please ================================================== ====================================== This is what happened when I try to increase the number of buffers beyond=700000 04:30:03 Informix Dynamic Server Stopped. 04:36:37 Segment locked: addr=0x50000000, size=1692237824 04:36:37 Segment locked: addr=0x50000000, size=1692237824 04:36:37 Segment locked: addr=0x50000000, size=1692237824 04:36:37 Segment locked: addr=0x50000000, size=1692237824 04:36:37 Segment locked: addr=0x50000000, size=1692237824 04:36:37 Segment locked: addr=0x50000000, size=1692237824 04:36:37 Segment locked: addr=0x50000000, size=1692237824 04:36:37 Segment locked: addr=0x50000000, size=1692237824 04:36:37 Segment locked: addr=0x50000000, size=1692237824 04:36:37 Segment locked: addr=0x50000000, size=1692237824 04:36:37 Segment locked: addr=0x50000000, size=1692237824 04:36:37 Segment locked: addr=0x50000000, size=1692237824 04:36:37 Segment locked: addr=0x50000000, size=1692237824 Fri Sep 10 04:36:38 2004 04:36:38 Assert Failed: Internal error: embedded mutex, name = support 04:36:38 Informix Dynamic Server Version 7.31.UD6 04:36:38 Who: Session(0, @, 0, 0) Thread(1, main_thread, 0, 1) File: mt.c Line: 6532 04:36:39 See Also: /tmp/af.3e9a2b6, shmem.3e9a2b6.0 04:36:42 Error writing '/tmp/shmem.3e9a2b6.0' errno = 14 04:36:42 mt.c, line 6532, thread 1, proc id 1417, Internal error: embedded mutex, name = support 04:36:42 PANIC: Attempting to bring system down |