본문 바로가기

Database

[HANA] Memory GC Trigger 관련 파라미터

https://launchpad.support.sap.com/#/notes/2169283

 

 

Memory Garbage collection

  • Auto Trigger 시점 관련 Parameter
    • global.ini -> [memorymanager] -> async_free_target
      • Default = 95 %
      • Trigger 되면 할당된 메모리를 global allocation limit의 특정 비율(aync_free_target) 만큼  줄임

    • global.ini -> [memorymanager] -> async_free_threshold
      • Default = 100 %
      • global allocation limit의 특정 비율(async_free_threshold) 만큼 도달하면 proactive Memory GC가 trigger 됨
      • Default 값인 100%는 "Lazy"이며 Memory 부족이 있을때만 시작됨
      • 메모리 할당 및 할당 취소의 횟수가 최소화 되므로 일반적으로 문제가 없으며 성능상의 이점을 제공함
        (This is in general no problem and provides performance advantages, as the number of memory allocations and deallocations is minimized)

    • global.ini -> [memorymanager] -> gc_unused_memory_threshold_abs
      • Default = 0 MB (disabled)
      • 할당은 되었지만 사용되지 않은 메모리의 양이 설정된 값(gc_ununsed_memory_threshold_abs)을 초과할 때 Memory GC이 Trigger 됨
        (Memory garbage collection is triggered when the amount of allocated, but unused memory exceeds the configured value (in MB))

    • global.ini -> [memorymanager] -> gc_unused_memory_threshold_rel
      • Defualt = -1 % (disabled)
      • 할당된 메모리의 양이 설정된 비율(gc_unused_memory_threshold_rel)만큼 Used memory를 초과하는 경우 Memory GC이 Trigger 됨
        (Memory garbage collection is triggered when the amount of allocated memory exceeds the used memory by the configured percentage)
      • 매개 변수(gc_unused_memory_threshold_abs)에 지정된 것보다 더 많이 할당되지만 사용되지 않은 메모리가 있는 경우에만 적용됨 -> 따라서 두가지 모두 설정 되어야 함
        (It will only take effect if more allocated but unused memory exists than specified in parameter gc_unused_memory_threshold_abs,  So you have to configure both parameters if you want to take advantage of gc_unused_memory_threshold_rel)