WiredTiger spill instance cache
Parent: WiredTiger cache eviction and dirty ratio · Published reference · snapshot 2026-10-30
↓ Facts as markdownall context files
Source-anchored research for WiredTiger spill instance cache. Run status: COMPLETED.
These notes link each claim to its source. Some citations identify archived research reports that are no longer hosted on this site. A published reference means the content is available; it does not certify independent review or accuracy.Read the editorial policy and follow the sources before relying on a claim.
How it works
- serverStatus.spillWiredTiger.cache reports capacity, occupancy, dirty bytes, dirty-trigger occurrences and application-thread eviction time. A useful derived diagnostic is dirty bytes divided by that spill cache's maximum configured bytes; this ratio is an analytical calculation, not a separately documented field. (low confidence) (verified as of 2026-10-14) [source]
Measurements and reference values
- The inspected master declarations default spill cache sizing to 2.5% of system memory, bounded by 100 MB and 1000 MB; getSpillCacheSizeMB truncates the percentage result and clamps it to the bounds. (medium confidence) (verified as of 2026-10-30) [source]
- The inspected master spill defaults are 5% dirty target, 80% dirty trigger and 80% updates trigger, with one eviction worker; these are spill-engine settings. (medium confidence) (verified as of 2026-10-30) [source]
- The Komodo report's April 3, 2026 startup logs show a 256M main cache and a separate 498M spill cache, with 24MB dirty target and 398MB dirty trigger; this illustrates why main-cache size alone does not bound both caches. (medium confidence) (verified as of 2026-04-03) [source]
- MongoDB v8.2 spill dirty-eviction target defaults to 5%; dirty trigger and updates trigger default to 80%. Startup configuration converts these percentages to MB using the spill cache capacity. The dirty trigger description identifies application-thread eviction. (medium confidence) (verified as of 2026-10-30) [source]
Facts and statements
- The spill instance has a separate in-memory cache that isolates supported spilling operations from the main WiredTiger cache; serverStatus reports it under spillWiredTiger. (medium confidence) [source]
- SERVER-108184 documents startup initialization and memory overhead even without spilling queries; its lazy-initialization proposal was closed Won't Do on July 29, 2025. Cache isolation therefore should not be interpreted as zero additional memory overhead. (medium confidence) (verified as of 2025-07-29) [source]
- SERVER-108257 attributes meaningful memory overhead to the former 33000-session default and lists fixes in 8.2.0-rc1 and 8.3.0-rc0; inspected master declares a spill session maximum of 1024. (medium confidence) (verified as of 2026-10-30) [source]
- WeKan reports a MongoDB 8.2.2 startup loop after disk exhaustion: spill-directory cleanup failed and the subsequent spill-instance open reported a missing version file. This is an incident about temporary storage initialization, not evidence that a dirty-cache threshold caused the crash. (low confidence) [source]
- MongoDB documents a separate in-memory WiredTiger spill cache that isolates spill operations from the main cache. The v8.2 spill configuration computes its capacity through getSpillCacheSizeMB(). (medium confidence) (verified as of 2026-10-30) [source]
- In MongoDB v8.2, spillWiredTigerCacheSizePercentage defaults to 2.5, bounded by spillWiredTigerCacheSizeMinMB=100 and spillWiredTigerCacheSizeMaxMB=1000. These are startup parameters; the spill configuration passes them to its sizing function. (medium confidence) (verified as of 2026-10-30) [source]
- The inspected sizing function returns clamp(int32(systemMemoryMB * percentage * 0.01), minMB, maxMB), and rejects minMB greater than maxMB. Thus percentage=0 still yields the configured minimum; it does not disable the cache. (medium confidence) (verified as of 2026-10-30) [source]
- MongoDB v8.2 defines both spill eviction worker minimum and maximum as one thread by default, with startup-only controls. Its spill configuration takes these dedicated settings. (medium confidence) (verified as of 2026-10-30) [source]
Children
- No children recorded.