Retaining Row Store Data in Memory

My name is Man-Ted Chan and I’m from the SAP HANA Product Support team, today I wanted to discuss is row store data that remains in memory.

First thing we will need to discuss is that row store data is loaded into memory upon SAP HANA start up, it’ll look like this:

Reattaching RS shared memory for RowStore segments

….

RS segments loaded from Persistency

Users who experience a slow start up should look into the amount of row store data in your system (You can run the query HANA_RowStore_Overview from SAP Note 1969700)

However, starting with SPS 07 you might have noticed that the start up time of a HANA system might a lot quicker (especially if your environment has a lot of row store data). The reason for this is that with SPS 07 row store data can be stored in shared memory. Shared memory is used to “share” data between process and is not represented in total memory used by resident memory (displayed memory usage in HANA Studio Admin Panel).

If you run the following on the OS level ipcs -m to view the shared memory you will see the shared memory will have segments set to DEST status and do not go away, even after the HANA services are stopped (Soft shutdown). The reason for this is because the row store data is still in shared memory so that when your HANA services are restarted it won’t have to reload the data.

SPS07-08 (deprecated in SPS09 and higher)

indexserver.ini -> [row_engine] -> reuse_shared_memory_for_restart

Is set to true or false, if true the row store data will stay in shared memory.