Skip to Content

a) OS Physical Memory – Total amount of memory available on physical host. However, total memory allocation limit for SAP HANA usage is approximate 93-95% (without specify the global allocation limit)


b) Virtual Memory – Reserve memory for SAP HANA processes from Linux OS, and this entire reserved memory footprint of a program is referred to Virtual Memory. SAP HANA virtual memory is the maximal amount that the process has been allocated, including its reservation for code, stack, data, and memory pool under program control. SAP HANA Virtual Memory dynamically growth when more memory needed (eg: table growth, temp computation and etc). When current pool memory can’t satisfy the request, memory manager requesting more memory from OS to this pool memory, up to its predefined memory allocation limit.


c) Resident Memory – the physical memory actually in operational use by a process.


d) Pool Memory – When SAP HANA started, a significant number of memory is requested from OS to this memory pool to store all the in memory data and system tables, thread stacks, temporary computation and other structures that need for managing HANA Database.


d1) only part of pool memory is used initially. When more memory is required for table growth or temporary computations, SAP HANA Manager obtain it from this pool. When the pool cannot satisfy the request, the memory manage will increase the pool size by requesting more memory from the OS, up to the pre-defined Allocation Limit.  Once computations completed or table dropped, freed memory is returned to the memory manager, who recycles it to its pool.


e) SAP HANA Used Memory – total amount of memory currently used by SAP HANA processes, including the currently allocated Pool Memory. The value will dropped when freed memory after each temporary computation and increase when more memory is needed and requested from Pool.


Hope above provide a clearer picture for SAP HANA Memory on Linux and hopefully if time permits, i‘ll post more on how to analyze current memory usage by SAP HANA (code, stack, shared and heap memory) next based on my analysis done.



To report this post you need to login first.

4 Comments

You must be Logged on to comment or reply to a post.

    1. Nicholas Chang Post author

      Hi Lars,

      Thanks for pointing out. Linux memory and hana memory terms and usage are summarized above as compared to SAP HANA Memory Usage Explained guide. Also, by looking at above diagram, it provided a clearer pic when relate to Memory Usage in HANA Studio as well as a good starting point before reading the HANA Memory Usage Explained, at least to understand the fundamental, especially for those who are new to Linux or HANA.

      Hope it answers your question.

      Thanks,

      Nicholas Chang

      (0) 
  1. Hari Shankar

    Hi,

    The resident memory (c ) which you’ve mentioned above seems to OS resident as it includes the memory from both HANA& OS process.

    Does HANA has anything like HANA resident memory. If yes, then what memory it includes?

    I’ve read somewhere that “Used Memory may even shrink to below the size of SAP HANA’s resident memory, which is perfectly normal”. Can you please give explain briefly on how it is possible.

    Regards,

    Hari

    (0) 
    1. Jens Gleichmann

      Hi Hari,

      “Used Memory may even shrink to below the size of SAP HANA’s resident memory, which is perfectly normal”

      => “Once a temporary computation completes (e.g. query) or a table is

      dropped, the freed memory is returned to the memory manager, which recycles it

      to its pool and can now be reused, without informing Linux. Thus, from SAP HANA’s perspective, the amount of Used Memory shrinks, but the process virtual and resident sizes are not affected.”

      Please read the HANA_Memory_Usage_SPS8.pdf which Lars mentioned. This will answer all your questions.

      Regards,

      Jens

      (0) 

Leave a Reply