SHMADD configuration parameter
Use the SHMADD configuration parameter to specify the size of the segments that are dynamically added to the virtual portion of shared memory.
- onconfig.std value
- Platform dependent
- values
- 32-bit platforms: 1024 - 524288
64-bit platforms: 1024 - 4294967296
- units
- KB
- takes effect
- After you edit your onconfig file and restart the database server.
Usage
The value of the SHMADD configuration parameter represents the size of the first set of segments that the database server adds to the virtual portion of shared memory when additional memory is needed. The size of the first virtual shared memory segment is set by the SHMVIRTSIZE configuration parameter. Set the values of the SHMVIRTSIZE and SHMADD configuration parameters so that a minimal number of segments are added during the normal operation of the database server. In general, more segments impair performance.
The maximum number of Informix® shared memory segments is 1024. Many shared memory segments might be required if the SHMADD value is low or the database server has unexpectedly large amounts of activity or memory use. To prevent the database server from reaching the maximum number of shared memory segments, the size of virtual segments that are added dynamically by the server doubles every 16 virtual segments. It is more efficient to add memory in large segments, but wasteful if the added memory is not used. Also, the operating system might require you to add memory in a few large segments rather than many small segments.
Amount of physical memory | Recommended SHMADD value |
---|---|
Less than 256 MB | 8192 |
256 - 512 MB | 16,384 |
Greater than 512 MB | 32,768 |
You can view information about virtual memory segments by running the onstat -g seg command.