You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.
There can be several reasons for high old heap usage, cache and queues cover only a subset of them. Currently however, these are the only ones we are looking at. The heap health decider bucketizes an unhealthy heap into 3 levels: level-1 unhealthy, level-2 unhealthy, and level-3 unhealthy; with level-3 being where heap is worst hit.
At level-1 unhealthy (heap usage ~60-70%), we want to downsize queues and caches, but to a soft lower bound, not to the absolute hard lower bound. This is so that we don't over-penalize the only resources we are able to tune.
At level-3 unhealthy (heap usage >~90%), the same argument can hold, but now we know for sure that there are several other objects contesting for heap space, which is causing the 90% heap usage. So we tune down caches and queues to as much as possible, which is the hard lower bound provided by setDesiredCacheMaxSizeToMin().
The soft and hard bounds should be attributes of action config objects itself, so that they can have corresponding overrides in rca.conf, and we don't maintain and pass separate bound values from deciders.
Instead of exposing the lowerBound() setter, we should expose a useSoftLowerBound() setter, with soft lower bound being read from rca.conf.
The text was updated successfully, but these errors were encountered:
There can be several reasons for high old heap usage, cache and queues cover only a subset of them. Currently however, these are the only ones we are looking at. The heap health decider bucketizes an unhealthy heap into 3 levels:
level-1 unhealthy
,level-2 unhealthy
, andlevel-3 unhealthy
; with level-3 being where heap is worst hit.At level-1 unhealthy (heap usage ~60-70%), we want to downsize queues and caches, but to a soft lower bound, not to the absolute hard lower bound. This is so that we don't over-penalize the only resources we are able to tune.
At level-3 unhealthy (heap usage >~90%), the same argument can hold, but now we know for sure that there are several other objects contesting for heap space, which is causing the 90% heap usage. So we tune down caches and queues to as much as possible, which is the hard lower bound provided by
setDesiredCacheMaxSizeToMin()
.The soft and hard bounds should be attributes of action config objects itself, so that they can have corresponding overrides in rca.conf, and we don't maintain and pass separate bound values from deciders.
Instead of exposing the
lowerBound()
setter, we should expose auseSoftLowerBound()
setter, with soft lower bound being read from rca.conf.The text was updated successfully, but these errors were encountered: