public class MemoryBudget extends java.lang.Object implements EnvConfigObserver
Modifier and Type | Class and Description |
---|---|
static class |
MemoryBudget.Totals
Common base class for shared and private totals.
|
Modifier and Type | Method and Description |
---|---|
static int |
byteArraySize(int arrayLen)
Returns the memory size occupied by a byte array of a given length.
|
void |
envConfigUpdate(DbConfigManager configManager,
EnvironmentMutableConfig ignore)
Respond to config updates.
|
long |
getAdminMemoryUsage()
Used for unit testing.
|
long |
getBINOverhead() |
long |
getCacheMemoryUsage() |
long |
getDBINOverhead() |
long |
getDINOverhead() |
long |
getINOverhead() |
long |
getLockMemoryUsage()
Public for unit testing.
|
long |
getLogBufferBudget() |
long |
getMaxMemory() |
long |
getMinTreeMemoryUsage()
For unit tests.
|
static long |
getRuntimeMaxMemory()
Returns Runtime.maxMemory(), accounting for a MacOS bug.
|
MemoryBudget.Totals |
getTotals() |
long |
getTrackerBudget() |
long |
getTreeAdminMemoryUsage() |
long |
getTreeMemoryUsage()
Used for unit testing.
|
static int |
intArraySize(int arrayLen) |
boolean |
isTreeUsageAboveMinimum()
Returns whether eviction of INList information is allowed.
|
static int |
objectArraySize(int arrayLen) |
static int |
shortArraySize(int arrayLen) |
java.lang.String |
toString() |
void |
updateAdminMemoryUsage(long increment)
Update the environment wide admin memory count, wake up the evictor if
necessary.
|
void |
updateLockMemoryUsage(long increment,
int lockTableIndex) |
void |
updateTreeAdminMemoryUsage(long increment)
Update the treeAdmin memory count, wake up the evictor if necessary.
|
void |
updateTreeMemoryUsage(long increment)
Update the environment wide tree memory count, wake up the evictor if
necessary.
|
void |
updateTxnMemoryUsage(long increment)
Update the environment wide txn memory count, wake up the evictor if
necessary.
|
public static boolean CLEANUP_DONE
public static boolean DEBUG_ADMIN
public static boolean DEBUG_LOCK
public static boolean DEBUG_TXN
public static boolean DEBUG_TREEADMIN
public static boolean DEBUG_TREE
public static final int LONG_OVERHEAD
public static final int ARRAY_OVERHEAD
public static final int ARRAY_SIZE_INCLUDED
public static final int OBJECT_OVERHEAD
public static final int OBJECT_ARRAY_ITEM_OVERHEAD
public static final int HASHMAP_OVERHEAD
public static final int HASHMAP_ENTRY_OVERHEAD
public static final int HASHSET_OVERHEAD
public static final int HASHSET_ENTRY_OVERHEAD
public static final int TWOHASHMAPS_OVERHEAD
public static final int TREEMAP_OVERHEAD
public static final int TREEMAP_ENTRY_OVERHEAD
public static final int MAPLN_OVERHEAD
public static final int LN_OVERHEAD
public static final int DUPCOUNTLN_OVERHEAD
public static final int BIN_FIXED_OVERHEAD
public static final int DIN_FIXED_OVERHEAD
public static final int DBIN_FIXED_OVERHEAD
public static final int IN_FIXED_OVERHEAD
public static final int KEY_OVERHEAD
public static final int LOCKIMPL_OVERHEAD
public static final int THINLOCKIMPL_OVERHEAD
public static final int LOCKINFO_OVERHEAD
public static final int WRITE_LOCKINFO_OVERHEAD
public static final int TXN_OVERHEAD
public static final int CHECKPOINT_REFERENCE_SIZE
public static final int UTILIZATION_PROFILE_ENTRY
public static final int DBFILESUMMARY_OVERHEAD
public static final int TFS_LIST_INITIAL_OVERHEAD
public static final int TFS_LIST_SEGMENT_OVERHEAD
public static final int LN_INFO_OVERHEAD
public static final int FILESUMMARYLN_OVERHEAD
public static final int LONG_LIST_PER_ITEM_OVERHEAD
public static final int PRIMITIVE_LONG_ARRAY_ITEM_OVERHEAD
public static final long MIN_MAX_MEMORY_SIZE
public static final java.lang.String MIN_MAX_MEMORY_SIZE_STRING
public void envConfigUpdate(DbConfigManager configManager, EnvironmentMutableConfig ignore) throws DatabaseException
envConfigUpdate
in interface EnvConfigObserver
DatabaseException
public static long getRuntimeMaxMemory()
public boolean isTreeUsageAboveMinimum()
public long getMinTreeMemoryUsage()
public void updateTreeMemoryUsage(long increment)
increment
- note that increment may be negative.public void updateTxnMemoryUsage(long increment)
increment
- note that increment may be negative.public void updateAdminMemoryUsage(long increment)
increment
- note that increment may be negative.public void updateTreeAdminMemoryUsage(long increment)
increment
- note that increment may be negative.public void updateLockMemoryUsage(long increment, int lockTableIndex)
public long getLockMemoryUsage()
public long getCacheMemoryUsage()
public long getMaxMemory()
public long getTreeMemoryUsage()
public long getAdminMemoryUsage()
public long getTreeAdminMemoryUsage()
public long getLogBufferBudget()
public long getTrackerBudget()
public long getINOverhead()
public long getBINOverhead()
public long getDINOverhead()
public long getDBINOverhead()
public static int byteArraySize(int arrayLen)
public static int shortArraySize(int arrayLen)
public static int intArraySize(int arrayLen)
public static int objectArraySize(int arrayLen)
public java.lang.String toString()
toString
in class java.lang.Object
public MemoryBudget.Totals getTotals()