32 if (*db_cache < 0) db_cache = 0;
33 const uint64_t db_cache_bytes{SaturatingLeftShift<uint64_t>(*db_cache, 20)};
34 constexpr auto max_db_cache{
sizeof(
void*) == 4 ?
MAX_32BIT_DBCACHE : std::numeric_limits<size_t>::max()};
35 return std::max<size_t>(
MIN_DB_CACHE, std::min<uint64_t>(db_cache_bytes, max_db_cache));
61 db_cache >> 20, *total_ram >> 20)});
static constexpr size_t MAX_32BIT_DBCACHE
Maximum dbcache size on 32-bit systems.
static constexpr size_t MAX_FILTER_INDEX_CACHE
Max memory allocated to all block filter index caches combined in bytes.
static constexpr size_t MAX_TX_INDEX_CACHE
Max memory allocated to tx index DB specific cache in bytes.
int64_t GetIntArg(const std::string &strArg, int64_t nDefault) const
Return integer argument or default value.
bool GetBoolArg(const std::string &strArg, bool fDefault) const
Return boolean argument or default value.
std::optional< size_t > GetTotalRAM()
Return the total RAM available on the current system, if detectable.
void InitWarning(const bilingual_str &str)
Show warning message.
constexpr bool ShouldWarnOversizedDbCache(size_t dbcache, size_t total_ram) noexcept
size_t CalculateDbCacheBytes(const ArgsManager &args)
CacheSizes CalculateCacheSizes(const ArgsManager &args, size_t n_indexes)
void LogOversizedDbCache(const ArgsManager &args) noexcept
static constexpr size_t MIN_DB_CACHE
min. -dbcache (bytes)
static constexpr size_t DEFAULT_DB_CACHE
-dbcache default (bytes)
consteval auto _(util::TranslatedLiteral str)
static constexpr bool DEFAULT_TXINDEX