SHMVIRTSIZE configuration parameter
Use the SHMVIRTSIZE configuration parameter to specify the initial size of a virtual shared-memory segment.
- onconfig.std value
- Platform dependent
- if not present
- If SHMADD is present: the value of the SHMADD configuration parameter.
If SHMADD is not present: 8192.
- values
- 32-bit platforms: Positive integer with a maximum value of 2
GB
64-bit platforms: Positive integer with a maximum value of 4 TB
The maximum value might be less on some platforms due to operating-system limitations. For the actual maximum value for your UNIX platform, see the machine notes.
- units
- KB
- takes effect
- After you edit your onconfig file and restart the database server.
Usage
To determine the appropriate value for the SHMVIRTSIZE configuration
parameter, use the following algorithm to determine the size of the
virtual portion of shared memory:
shmvirtsize = fixed overhead + ((stack size + heap) * number of users)
Variable | Value to use |
---|---|
fixed overhead | This includes the size of the AIO vectors, sort memory, dbspace
backup buffers, dictionary size, size of stored-procedure cache, histogram
pool, other pools, and other overhead. To obtain an estimate of
the fixed overhead, start the database server and see how many additional
memory segments are allocated, if any. The number of users that you
have on the system when you start the server, impacts the allocation
of memory segments. When you start the server:
|
stack size | On 32-bit systems, use 32 KB for the stack size. Typically on 64-bit systems, you use 64 KB for the stack size. However, some 64-bit systems use a different value. |
heap | Use 30 KB per user. |
number of users | Use the maximum number of concurrent user sessions that you anticipate on the server. |
If possible, create a virtual portion of shared memory of a size that is more than you require for your daily processing.
Use the onstat -g seg command to determine peak usage and lower the value of the SHMVIRTSIZE configuration parameter accordingly.