mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-19 14:53:43 +01:00
Merge pull request #6102
86a5f4bRelocate calls to CheckDiskSpace (Alex Morcos)67708acWrite block index more frequently than cache flushes (Pieter Wuille)b3ed423Cache tweak and logging improvements (Pieter Wuille)fc684adUse accurate memory for flushing decisions (Pieter Wuille)046392dKeep track of memory usage in CCoinsViewCache (Pieter Wuille)540629cAdd memusage.h (Pieter Wuille)
This commit is contained in:
18
src/init.cpp
18
src/init.cpp
@@ -1061,18 +1061,20 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler)
|
||||
}
|
||||
|
||||
// cache size calculations
|
||||
size_t nTotalCache = (GetArg("-dbcache", nDefaultDbCache) << 20);
|
||||
if (nTotalCache < (nMinDbCache << 20))
|
||||
nTotalCache = (nMinDbCache << 20); // total cache cannot be less than nMinDbCache
|
||||
else if (nTotalCache > (nMaxDbCache << 20))
|
||||
nTotalCache = (nMaxDbCache << 20); // total cache cannot be greater than nMaxDbCache
|
||||
size_t nBlockTreeDBCache = nTotalCache / 8;
|
||||
int64_t nTotalCache = (GetArg("-dbcache", nDefaultDbCache) << 20);
|
||||
nTotalCache = std::max(nTotalCache, nMinDbCache << 20); // total cache cannot be less than nMinDbCache
|
||||
nTotalCache = std::min(nTotalCache, nMaxDbCache << 20); // total cache cannot be greated than nMaxDbcache
|
||||
int64_t nBlockTreeDBCache = nTotalCache / 8;
|
||||
if (nBlockTreeDBCache > (1 << 21) && !GetBoolArg("-txindex", false))
|
||||
nBlockTreeDBCache = (1 << 21); // block tree db cache shouldn't be larger than 2 MiB
|
||||
nTotalCache -= nBlockTreeDBCache;
|
||||
size_t nCoinDBCache = nTotalCache / 2; // use half of the remaining cache for coindb cache
|
||||
int64_t nCoinDBCache = std::min(nTotalCache / 2, (nTotalCache / 4) + (1 << 23)); // use 25%-50% of the remainder for disk cache
|
||||
nTotalCache -= nCoinDBCache;
|
||||
nCoinCacheSize = nTotalCache / 300; // coins in memory require around 300 bytes
|
||||
nCoinCacheUsage = nTotalCache; // the rest goes to in-memory cache
|
||||
LogPrintf("Cache configuration:\n");
|
||||
LogPrintf("* Using %.1fMiB for block index database\n", nBlockTreeDBCache * (1.0 / 1024 / 1024));
|
||||
LogPrintf("* Using %.1fMiB for chain state database\n", nCoinDBCache * (1.0 / 1024 / 1024));
|
||||
LogPrintf("* Using %.1fMiB for in-memory UTXO set\n", nCoinCacheUsage * (1.0 / 1024 / 1024));
|
||||
|
||||
bool fLoaded = false;
|
||||
while (!fLoaded) {
|
||||
|
||||
Reference in New Issue
Block a user