You can calculate how much heap memory SAP ASE sets aside (SAP ASE reserves a small amount of memory for internal structures, so these numbers vary from site to site):
Use this formula:
((1024 X 1024) + (heap memory in bytes)* (number of user connections + number of worker processes) )
The initial value of (1024 X 1024) is the 1MB initial size of the heap memory pool. SAP ASE reserves a small amount of memory for internal structures.
heap memory per user – 4K
number of user connections – 25 (the default)
number of worker processes – 25 (the default)
@@heapmemsize reports 1378304 bytes.
And the estimated value using the formula above, is:((1024 X 1024) + (4 X 1024 X 50)) = 1253376
sp_configure 'user connections', 100@@heapmemsize reports 1716224 bytes.The estimated value in this case is:((1024 X 1024) + (4 * 1024 * (100 + 25) ) = 1560576
If your applications fail with this message:
There is insufficient heap memory to allocate %ld bytes. Please increase configuration parameter 'heap memory per user' or try again when there is less activity on the system.
heap memory per user
number of user connections
number of worker processes
The size of the memory pool depends on the number of user connections. SAP® recommends that you set heap memory per user to at least three times the size of your logical page.
SAP recommends that you first increase the heap memory per user configuration option before you increase number of user connections or number of worker processes. Increasing the number of user connections and number of worker processes consumes system memory for other resources, which may require you to increase the server’s maximum memory.See System Administration Guide: Volume 1 > Setting Configuration Paramters.