Bitcoin Core  31.0.0
P2P Digital Currency
caches.h
Go to the documentation of this file.
1 // Copyright (c) 2021-present The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 
5 #ifndef BITCOIN_NODE_CACHES_H
6 #define BITCOIN_NODE_CACHES_H
7 
8 #include <kernel/caches.h>
9 #include <util/byte_units.h>
10 
11 #include <cstddef>
12 
13 class ArgsManager;
14 
16 static constexpr size_t MIN_DB_CACHE{4_MiB};
18 static constexpr size_t DEFAULT_DB_CACHE{DEFAULT_KERNEL_CACHE};
19 
20 namespace node {
21 size_t GetDefaultDBCache();
23  size_t tx_index{0};
24  size_t filter_index{0};
25  size_t txospender_index{0};
26 };
27 struct CacheSizes {
30 };
31 CacheSizes CalculateCacheSizes(const ArgsManager& args, size_t n_indexes = 0);
32 constexpr bool ShouldWarnOversizedDbCache(size_t dbcache, size_t total_ram) noexcept
33 {
34  const size_t cap{(total_ram < 2048_MiB) ? DEFAULT_DB_CACHE : (total_ram / 100) * 75};
35  return dbcache > cap;
36 }
37 
38 void LogOversizedDbCache(const ArgsManager& args) noexcept;
39 } // namespace node
40 
41 #endif // BITCOIN_NODE_CACHES_H
static constexpr size_t MIN_DB_CACHE
min. -dbcache (bytes)
Definition: caches.h:16
void LogOversizedDbCache(const ArgsManager &args) noexcept
Definition: caches.cpp:74
IndexCacheSizes index
Definition: caches.h:28
ArgsManager & args
Definition: bitcoind.cpp:277
size_t txospender_index
Definition: caches.h:25
constexpr bool ShouldWarnOversizedDbCache(size_t dbcache, size_t total_ram) noexcept
Definition: caches.h:32
static constexpr size_t DEFAULT_KERNEL_CACHE
Suggested default amount of cache reserved for the kernel (bytes)
Definition: caches.h:13
Definition: messages.h:21
size_t GetDefaultDBCache()
Definition: caches.cpp:36
static constexpr size_t DEFAULT_DB_CACHE
-dbcache default (bytes)
Definition: caches.h:18
size_t filter_index
Definition: caches.h:24
kernel::CacheSizes kernel
Definition: caches.h:29
CacheSizes CalculateCacheSizes(const ArgsManager &args, size_t n_indexes)
Definition: caches.cpp:57