The sizing of the memory areas of the database is influenced of several factors:
- available address space (32 bit or 64 bit)
- amount of RAM in the database server
- existence of SAP instances on the database server
- High Availability / FailOver scenarios etc.
Estimate the memory requirements of all components running on the database server.
Generally you should provide as much RAM as possible to the database. Reading from the data cache always has a better performance than reading from physical discs.
You should plan your system with a 64 bit platform, since the SAP MaxDB architecture benefits greatly from the 64 address space (see SAP Note 1013441 Upgrade required: Advantages for SAP MaxDB on 64-bit platforms ).
The main memory area to be defined for the database is the I/O buffer cache with its database parameter CACHE_SIZE (SAP MaxDB < 7.7.03) respectively CacheMemorySize (SAP MaxDB >= 7.7.03). We have the following rules of thumb on the size of CACHE_SIZE (SAP MaxDB < 7.7.03) respectively CacheMemorySize (SAP MaxDB >= 7.7.03):
- 1% of the disk sizes for SAP and ECC applications (double to 2% for unicode)
- 2% of the disk sizes for BW (double to 4% for unicode)
back to top
How to check the memory usage of a database?
In the database log file knldiag respectively knlMsg you will find the available memory when the database will be started.
2012-04-21 13:17:06 0x734 19776 INFO Max virtual memory: 51199 MB
2012-04-21 13:17:06 0x734 19777 INFO Total physical memory: 12021 MB
When the database is operational state ONLINE database system tables ALLOCATORSTATISTIC (SAP MaxDB version 7.5) and MEMORYALLOCATORSTATISTICS (SAP MaxDB version >= 7.6) give detailed information about the memory usage of a database.
The database analyzer shows the current memory usage in the first daily snapshot in the bottleneck analysis as follows:
Physical memory 12021 MB, virtual memory 51199 MB, memory allocated from instance: 4692 MB
back to top