Shared Memory
Posted in 2021
Amit Patel asked whether to raise SHMVIRTSIZE to match the 6375342 KB of virtual segments seen in onstat -g seg on 14.10.FC6X3, and whether to change DS_TOTAL_MEMORY or SHMTOTAL. Art Kagel advised raising SHMVIRTSIZE if the growth is normal, leaving DS_TOTAL_MEMORY, and raising DS_NONPDQ_QUERY_MEM; Mark Scranton urged capping SHMTOTAL. Amit raised SHMVIRTSIZE and the instance ran fine.
Auto-generated by Claude from the posts below — may be imperfect; read the full thread.
Topics: Server Administration, Versions, Editions & End-of-Life
Hello,
Today I checked the Informix shared memory by
onstat -g segon Informix 14.10FC6X3
informix [rs-om-ifx-201] on_nebula21 $ onstat -g seg
IBM Informix Dynamic Server Version 14.10.FC6X3 -- On-Line -- Up 16:43:49 -- 10327040 Kbytes
2021-09-03 15:36:42Segment Summary:
id key addr size ovhd class blkused blkfree
13 52ae4801 10a000000 738197504 9092392 R* 173528 6696
14 52ae4802 136000000 2080374784 24381192 V* 488869 19035
15 52ae4803 1b2000000 3422552064 1 B* 835584 0
16 52ae4804 27e000000 33554432 1 B* 8192 0
17 52ae4805 280000000 5242880 62856 M 1070 210
18 52ae4806 281000000 1073741824 12584664 V* 3076 259068
19 52ae4807 2c1000000 1073741824 12584664 V* 3078 259066
20 52ae4808 301000000 1073741824 12584664 V* 3077 259067
21 52ae4809 341000000 1073741824 12584664 V* 3073 259071
Total: - - 10574888960 - - 1519547 1062213
Total Virtual segment size = 6375342080
in ONCONFIG FILE SHMVERSIZE value is as below:
RESIDENT -1
SHMBASE 0x10A000000L
SHMVIRTSIZE 2000000
SHMADD 1048576
EXTSHMADD 8192
SHMTOTAL 0
SHMVIRT_ALLOCSEG 0,3
SHMNOACCESS
MAX_PDQPRIORITY 100
DS_MAX_QUERIES
DS_TOTAL_MEMORY 2000000
DS_MAX_SCANS 1048576
DS_NONPDQ_QUERY_MEM 256
DATASKIP ALLSo Can I change the SMVIRTSIZE parameter by 6375342 KB n ONCONFIG file, so it will be equal to all Virtual segment size.
and DS_TOTAL_MENORY do I need to change 90% of SHMVIRTSIZE?
if SHMVIRTSIZE, I change to 6375342 so DS_TOTAL_MEMORY should be around 318767 or don't need to change anything?
SHMTOTAL is 0 (Measn can use full system memory) , So no need to change SHMTOTAL , only SHMVIRTSIZE.
Am I correct dears?
Thanks
Amit Patel
------------------------------
AMIT PATEL
------------------------------
#Informix
Yes, I would increase SHMVIRTSIZE as long as you are confident that the additional 4GB of memory that were added are "normal" and would be allocated again anyway if you didn't increase it. If the additional memory was an anomaly due to some unusual activity, then maybe increase it some (say to 4GB) but not all the way to 6GB.
I would not increase DS_TOTAL_MEMORY unless this is a DW application that uses lots of PDQ. I would, however, recommend increasing DS_NONPDQ_QUERY_MEM. The default value, 256K, is too low. This query will tell you if sorts are going to disk and if so how much space they would need in memory to not go to disk:
select * from sysprofile where name in ('disksorts','maxsortspace');
Use the maxsortspace value to set DS_NONPDQ_QUERY_MEM to avoid sorting on disk. You can set it to up to 25% of DS_TOTAL_MEMORY.
------------------------------
Art S. Kagel, President and Principal Consultant
ASK Database Management Corp.
www.askdbmgt.com
------------------------------
Best to set SHMTOTAL to (less than the box limit or what you think this engine can take without affecting the box). At least on AIX, SHMTOTAL of 0 can have significant negative impact as the engine can take all it likes. Had this quite a few times before I capped the engines with SHMTOTAL. Especially important if you have more than one engine on a box. Thanks - Mark ------------------------------ Mark Scranton ------------------------------
Thanks Art, I changed SHVIRTSIZE as per your Comments. Currently Instance running fine :) Thanks . ------------------------------ AMIT PATEL ------------------------------
Yes, you can set SHMVIRTSIZE parameter to 6375342 KB in ONCONFIG file. Please take into account, whether you are using of mgm facility for DSS queries or not?
I mean at first use of "onstat –g mgm" and investigate in output to find out, you are using of DSS Queries or not?.
If you are not use of DSS queries, so don't get worry about DS_TOTAL_MEMORY parameter, which is a logical subset of SHMVIRTSIZE.
But you are using DSS queries and mgm facility, I would like to recommend you set SHMVIRTSIZE parameter to 6375342 KB + <
DS_TOTAL_MEMORY 2000000
> , my point is 8,375,342 KB.For determine the exact value for DS_TOTAL_MEMORY, you could see in "Memory:" portion of "onstat –g mgm".
------------------------------
Saeid Mohseni Rad
------------------------------
Yes, you can set SHMVIRTSIZE parameter to 6375342 KB in ONCONFIG file
. Please take into account, whether you are using of mgm facility for DSS queries or not?
I mean at first use of "onstat –g mgm" and investigate in output to find out, you are using of DSS Queries or not?.
If you are not use of DSS queries, so don't get worry about DS_TOTAL_MEMORY
parameter, which is a logical subset of SHMVIRTSIZE.
But you are using DSS queries and mgm facility, I would like to recommend you set SHMVIRTSIZE parameter to 6375342 KB + <
DS_TOTAL_MEMORY 2000000
> , my point is 8,375,342 KB.For determine the exact value for DS_TOTAL_MEMORY, you could see in "Memory:" portion of "onstat –g mgm".
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