Bitcoin Core
31.1.0
P2P Digital Currency
Toggle main menu visibility
Loading...
Searching...
No Matches
src
node
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
();
22
struct
IndexCacheSizes
{
23
size_t
tx_index
{0};
24
size_t
filter_index
{0};
25
size_t
txospender_index
{0};
26
};
27
struct
CacheSizes
{
28
IndexCacheSizes
index
;
29
kernel::CacheSizes
kernel
;
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
args
ArgsManager & args
Definition
bitcoind.cpp:277
byte_units.h
ArgsManager
Definition
args.h:103
caches.h
DEFAULT_KERNEL_CACHE
static constexpr size_t DEFAULT_KERNEL_CACHE
Suggested default amount of cache reserved for the kernel (bytes).
Definition
caches.h:13
kernel
Definition
coinstatsindex.h:21
node
Definition
messages.h:21
node::ShouldWarnOversizedDbCache
constexpr bool ShouldWarnOversizedDbCache(size_t dbcache, size_t total_ram) noexcept
Definition
caches.h:32
node::CalculateCacheSizes
CacheSizes CalculateCacheSizes(const ArgsManager &args, size_t n_indexes)
Definition
caches.cpp:57
node::LogOversizedDbCache
void LogOversizedDbCache(const ArgsManager &args) noexcept
Definition
caches.cpp:74
node::GetDefaultDBCache
size_t GetDefaultDBCache()
Definition
caches.cpp:36
MIN_DB_CACHE
static constexpr size_t MIN_DB_CACHE
min. -dbcache (bytes)
Definition
caches.h:16
DEFAULT_DB_CACHE
static constexpr size_t DEFAULT_DB_CACHE
-dbcache default (bytes)
Definition
caches.h:18
kernel::CacheSizes
Definition
caches.h:23
node::CacheSizes
Definition
caches.h:27
node::CacheSizes::index
IndexCacheSizes index
Definition
caches.h:28
node::IndexCacheSizes
Definition
caches.h:22
node::IndexCacheSizes::tx_index
size_t tx_index
Definition
caches.h:23
node::IndexCacheSizes::filter_index
size_t filter_index
Definition
caches.h:24
node::IndexCacheSizes::txospender_index
size_t txospender_index
Definition
caches.h:25
Generated on
for Bitcoin Core by
1.17.0