SAP HANA – problem with allocator: Pool/RowEngine/GlobalHeap

In HANA version: 2.00.048 You can observe some memory leak. The problem is mainly visible in this collector: Pool/RowEngine/GlobalHeap. It can use 70-80GB of RAM and more during calculations. SAP note 1999997 indicates that the problem can only occur until Hana 2.00.046 but we already know that’s not true. Meanwhile a note 2902494 says about leaks on this pool, but still doesn’t provide a solution. Parallel to the above allocator, you may also observe a problem with another allocator i.e. Pool/RowEngine/QueryExecution/SearchAlloc.

Solution

You can consider several options…

  1. At the beginning check how much memory the allocator is using.
hdbcons "mm bl -t Pool/RowEngine/GlobalHeap"
...
Top 20 allocators:
 Pool/RowEngine/GlobalHeap: 74.96gb (80491558840b) (337855404 blocks)
 [OK]
 ## Finish command at: 2021-05-## 00:07:05.735 command took: 3.353 min
 [EXIT]
 [BYE]

2. You can try to disable ESX engine and monitor whether the issue persists. But be careful, disabling ESX can have negative performance impact. Please look to note: 2599949

ALTER SYSTEM ALTER CONFIGURATION ('indexserver.ini', 'SYSTEM' ) SET ('sql', 'esx_level') = '0' WITH RECONFIGURE

This parameter change can easily be reverted by running the following as mentioned below:
ALTER SYSTEM ALTER CONFIGURATION ('indexserver.ini', 'SYSTEM' ) UNSET ('sql', 'esx_level') WITH RECONFIGURE

3. I found also others notes which they confirm this is the known issue in SAP HANA 2.0 SPS 04 Rev 48. You should refer to this SAP Note for more information: 2982247 – Memory Leak in Pool/RowEngine/QueryExecution/SearchAlloc

Workaround 1:
This is as per the SAP Note 2982247 – Memory Leak in Pool/RowEngine/QueryExecution/SearchAlloc
Apply one of the following SAP HANA Revisions:
SAP HANA 2:

  • Revisions >= 048.03 (SPS04)
  • Revisions >= 053.00 (SPS05)
  • or higher

Workaround 2:
I would like to focus mainly on the allocator “Pool/RowEngine/QueryExecution/SearchAlloc”. This allocator is in relation to executed SQL statements. I would recommend reviewing the note 1999997 – FAQ: SAP HANA Memory under the heading “Pool/RowEngine/QueryExecution/SearchAlloc” and also the section around optimising SQL statements that increase the memory usage on the allocator “Pool/RowEngine/QueryExecution/SearchAlloc” under “19. Which general optimizations exist for reducing the SQL statement memory requirements?”

You can also use the following steps to check your specific expensive statements: In Hana Studio -> Admin View -> Performance. Go to the expensive statements trace.

Here you can order by memory size and see the statements that used the most memory.

Useful note:

2620830 – How To Record SAP HANA Memory Allocator Traces to Analyze Memory Leaks

Copyright © 2021. SAPBasisWorld.com Privacy Policy