Class HeapMemoryManager
java.lang.Object
org.apache.hadoop.hbase.regionserver.HeapMemoryManager
Manages tuning of Heap memory using
HeapMemoryTuner. Most part of the heap memory is
split between Memstores and BlockCache. This manager helps in tuning sizes of both these
dynamically, as per the R/W load on the servers.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceEvery class that wants to observe heap memory tune actions must implement this interface.private classstatic final classPOJO to pass all the relevant information required to do the heap memory tuning.static final classPOJO which holds the result of memory tuning done by HeapMemoryTuner implementation. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringprivate final ResizableBlockCacheprivate floatprivate floatprivate floatprivate static final intprivate static final intprivate final intprivate floatprivate floatprivate floatstatic final Stringstatic final intstatic final Stringstatic final floatprivate final floatprivate floatprivate static final org.slf4j.Loggerprivate final longstatic final Stringstatic final Stringprivate final FlushRequesterprivate MetricsHeapMemoryManagerprivate final RegionServerAccountingprivate final Serverprivate final boolean -
Constructor Summary
ConstructorsConstructorDescriptionHeapMemoryManager(BlockCache blockCache, FlushRequester memStoreFlusher, Server server, RegionServerAccounting regionServerAccounting) -
Method Summary
Modifier and TypeMethodDescriptionprivate booleandoInit(org.apache.hadoop.conf.Configuration conf) floatReturns heap occupancy percentage, 0 <= n <= 1.(package private) booleanvoidvoidstart(ChoreService service) voidstop()private ResizableBlockCachetoResizableBlockCache(BlockCache blockCache)
-
Field Details
-
LOG
-
CONVERT_TO_PERCENTAGE
- See Also:
-
CLUSTER_MINIMUM_MEMORY_THRESHOLD
- See Also:
-
BLOCK_CACHE_SIZE_MAX_RANGE_KEY
- See Also:
-
BLOCK_CACHE_SIZE_MIN_RANGE_KEY
- See Also:
-
MEMSTORE_SIZE_MAX_RANGE_KEY
- See Also:
-
MEMSTORE_SIZE_MIN_RANGE_KEY
- See Also:
-
HBASE_RS_HEAP_MEMORY_TUNER_PERIOD
- See Also:
-
HBASE_RS_HEAP_MEMORY_TUNER_DEFAULT_PERIOD
- See Also:
-
HBASE_RS_HEAP_MEMORY_TUNER_CLASS
- See Also:
-
HEAP_OCCUPANCY_ERROR_VALUE
- See Also:
-
globalMemStorePercent
-
globalMemStorePercentMinRange
-
globalMemStorePercentMaxRange
-
blockCachePercent
-
blockCachePercentMinRange
-
blockCachePercentMaxRange
-
heapOccupancyPercent
-
blockCache
-
memStoreFlusher
-
server
-
regionServerAccounting
-
heapMemTunerChore
-
tunerOn
-
defaultChorePeriod
-
heapOccupancyLowWatermark
-
maxHeapSize
-
metricsHeapMemoryManager
-
tuneObservers
-
-
Constructor Details
-
HeapMemoryManager
HeapMemoryManager(BlockCache blockCache, FlushRequester memStoreFlusher, Server server, RegionServerAccounting regionServerAccounting)
-
-
Method Details
-
toResizableBlockCache
-
doInit
-
start
-
stop
-
registerTuneObserver
-
isTunerOn
boolean isTunerOn() -
getHeapOccupancyPercent
Returns heap occupancy percentage, 0 <= n <= 1. or -0.0 for error asking JVM
-