Class MemoryBudgetResolver

java.lang.Object
io.leandev.appfuse.cache.core.MemoryBudgetResolver

public final class MemoryBudgetResolver extends Object

記憶體預算解析器

依 ADR-006 推導 CacheManager 的預設 heap / offheap 記憶體預算:

  • heap-Xmx 的 25%(保守——heap 與應用工作集 + GC 共享)
  • offheap:四段 fallback(明示 → -XX:MaxDirectMemorySize × 75% → 確認 cgroup 真有上限的總量反推 → 固定 fallback 值 64MB)

核心精神:封住行程總量、不確定性轉成保守行為——不拿可能是主機總量的數字算大預算。

Since:
4.0
  • Method Details

    • resolve

      public static MemoryBudget resolve(Long explicitHeapBudgetMB, Long explicitOffheapBudgetMB, OnExceed onExceed)
      解析記憶體預算(填入未明示的預設值)
      Parameters:
      explicitHeapBudgetMB - 使用者明示的 heap 預算(MB),null 則自動推導
      explicitOffheapBudgetMB - 使用者明示的 offheap 預算(MB),null 則自動推導
      onExceed - 超額處置策略
      Returns:
      已解析的記憶體預算