SAP Hana – Out of Memory information in logs

Using the HANA system, You can find information similar to the following in the logs:

[MEMORY_OOM] Information about current out of memory situation: (<timestamp>)
OUT OF MEMORY occurred.
Host: <hosrname>
Executable: <servicename>
PID: <pid>
Failed to allocate <memoryvalue>
 
Allocation failure type: OPERATING_SYSTEM_LIMIT 
Could not return Xb to operating system.
This is a configuration problem of your operating system:
Please increase /proc/sys/vm/max_map_count
At most one OOM dump is written in approximately Xs.
<timestamp> e Memory MallocProxy.cpp(02006) : mmap(<...>) failed.12 (Cannot allocate memory)
<timestamp> e Memory Precharge.cpp(00162) : memAllocSystemPages failed with rc=12, 12 (Cannot allocate memory)
SQL submitted to ODBC data source <HANA SID> resulted in error <[SAP AG][LIBODBCHDB SO][HDBODBC] General error;2048 column
store error: search table error: [9] Memory allocation failed;exception 1000002: Allocation failed ; $size$=25315874691;
$name$=Pool/JoinEvaluator; $type$=pool; $inuse_count$=16; $allocated_size$=27891692375; $alignment$=8;
$failure_type$=OPERATING_SYSTEM_LIMIT; 
<compileserver_XXXXX.trc>
[197680].508077 e Memory           mmReportMemoryProblems.cpp(01991) : Finished writing oom runtime dump!
[197680].508100 e compileserver    ljit_server_CompileService.cpp(00120) : Emergency shutdown because of out-of-memory
[197680].508104 e Basis            ljit_server_CompileService.cpp(00071) : Process exited due to an error via explicit exit call with exit code 1 , no crash dump will be written

What we can do in this situations?

In this case, two things should be checked:

  1. Linux Kernel Parameter /proc/sys/vm/max_map_count on SAP HANA Systems. Check that the value is set correctly. Helpful note: 1980196
  2. Check and configure correctly global_allocation_limit paramter in HANA instance. Helpful note: 2926166
  3. If above two points don’t resolve Your problem with memory You should investigate the memory utilization by other services/programs running in the server.