Skip to Main Content
IBM Data and AI Ideas Portal for Customers


This portal is to open public enhancement requests against products and services offered by the IBM Data & AI organization. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:


Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,


Post your ideas

Post ideas and requests to enhance a product or service. Take a look at ideas others have posted and upvote them if they matter to you,

  1. Post an idea

  2. Upvote ideas that matter most to you

  3. Get feedback from the IBM team to refine your idea


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

IBM Employees should enter Ideas at https://ideas.ibm.com


Status Submitted
Workspace Informix
Components Informix Server
Created by Guest
Created on Apr 17, 2025

Improve the VPCACHE memory manage

The VPCACHE resource having the option to be DYNAMIC or STATIC. 
At the documentation, the DYNAMIC option says: " You can set the mode to DYNAMIC to allow the size of each private memory cache to increase or decrease automatically based on the workload of the associated VP"
However, this behave appear to be not completely implemented. 
Once the vpcache needs more memory they alloc a considerable volume of virtual segments on our database (we get into situations where they allocated 10GB of virtual segments). When the workload downs, this segments even without any session using them doesn't get free with 'onmode -F' . 
So, something of this memory allocation make them "fixed" on this segments. 
Also, other fail desing is no option to set the max of memory to allocate. 
We got our production crashed few times because, as suspected, they fill all memory avaliable , don't leave memory to users process, reach the SHMTOTAL and even this limit, crash the instace.
BTW, is praticable impossible to identify the use of vpcache on the segments with any "onstat" output, missing better options to show this (at 'onstat -g mem' I think)

So, my request is to review this option DYNAMIC, where was implemented in a way which never should be released. 
More limits and security code/params should be included.
 

Needed By Yesterday (Let's go already!)
  • Guest
    Reply
    |
    May 6, 2025

    Important note: DYNAMIC was intended for unattended servers. In my opinion it should NEVER be used in a production OLTP environment for exactly the problem the OP has encountered. I recommend to my clients to always set VP_MEMORY_CACHE_KB to STATIC mode. The VPCACHE central pool will still increase in size when needed and so may add a segment, however, since each CPU VP will be limited as to how much memory it can retain and so will return any excess memory that it needed for a given query to the central pool, you will not see the aggressive sucking up of memory that DYNAMIC causes.
    I would also note that onmode -F does not free that memory because it has been assigned to the VPCLASS pool and so is not technically unused. I agree that there should be a way to release some of that memory back for more general use which might allow onmode -F to free a segment.