diff options
| author | Pieter Wuille <[email protected]> | 2017-03-30 12:05:05 -0700 |
|---|---|---|
| committer | Pieter Wuille <[email protected]> | 2017-03-30 12:05:05 -0700 |
| commit | 7228ce853de5670d559d752f04a7db79578990ea (patch) | |
| tree | 9407829920931c50ba8434a5c7d7eebd206bdd92 /src/validation.cpp | |
| parent | Merge #10109: Remove SingleNodeConnCB (diff) | |
| download | discoin-7228ce853de5670d559d752f04a7db79578990ea.tar.xz discoin-7228ce853de5670d559d752f04a7db79578990ea.zip | |
Compensate for memory peak at flush time
Diffstat (limited to 'src/validation.cpp')
| -rw-r--r-- | src/validation.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/validation.cpp b/src/validation.cpp index 037b9c0ab..7737c13e6 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -2005,7 +2005,7 @@ bool static FlushStateToDisk(CValidationState &state, FlushStateMode mode, int n nLastSetChain = nNow; } int64_t nMempoolSizeMax = GetArg("-maxmempool", DEFAULT_MAX_MEMPOOL_SIZE) * 1000000; - int64_t cacheSize = pcoinsTip->DynamicMemoryUsage(); + int64_t cacheSize = pcoinsTip->DynamicMemoryUsage() * 2; // Compensate for extra memory peak (x1.5-x1.9) at flush time. int64_t nTotalSpace = nCoinCacheUsage + std::max<int64_t>(nMempoolSizeMax - nMempoolUsage, 0); // The cache is large and we're within 10% and 100 MiB of the limit, but we have time now (not in the middle of a block processing). bool fCacheLarge = mode == FLUSH_STATE_PERIODIC && cacheSize > std::max((9 * nTotalSpace) / 10, nTotalSpace - 100 * 1024 * 1024); |