aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/geth
diff options
context:
space:
mode:
authorPéter Szilágyi <peterke@gmail.com>2019-04-18 17:46:27 +0800
committerGitHub <noreply@github.com>2019-04-18 17:46:27 +0800
commitd8dc37c85bb68d83c05b819e03a7b5c05c815e42 (patch)
treefe9bfdfffe18929a8625247163891569dfe707f7 /cmd/geth
parent29bba5d0b2102f405122e2ab8462f262e285cefb (diff)
parentd9d60a5a7f622acd9233d075f009a91a84b62c78 (diff)
downloadgo-tangerine-d8dc37c85bb68d83c05b819e03a7b5c05c815e42.tar
go-tangerine-d8dc37c85bb68d83c05b819e03a7b5c05c815e42.tar.gz
go-tangerine-d8dc37c85bb68d83c05b819e03a7b5c05c815e42.tar.bz2
go-tangerine-d8dc37c85bb68d83c05b819e03a7b5c05c815e42.tar.lz
go-tangerine-d8dc37c85bb68d83c05b819e03a7b5c05c815e42.tar.xz
go-tangerine-d8dc37c85bb68d83c05b819e03a7b5c05c815e42.tar.zst
go-tangerine-d8dc37c85bb68d83c05b819e03a7b5c05c815e42.zip
Merge pull request #18168 from karalabe/trie-better-cache-size-estimation
trie: approximate the wasted cache metaspace closer
Diffstat (limited to 'cmd/geth')
-rw-r--r--cmd/geth/main.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/cmd/geth/main.go b/cmd/geth/main.go
index 4f3849a41..c439e36fc 100644
--- a/cmd/geth/main.go
+++ b/cmd/geth/main.go
@@ -234,6 +234,20 @@ func init() {
if err := debug.Setup(ctx, logdir); err != nil {
return err
}
+ // If we're a full node on mainnet without --cache specified, bump default cache allowance
+ if ctx.GlobalString(utils.SyncModeFlag.Name) != "light" && !ctx.GlobalIsSet(utils.CacheFlag.Name) && !ctx.GlobalIsSet(utils.NetworkIdFlag.Name) {
+ // Make sure we're not on any supported preconfigured testnet either
+ if !ctx.GlobalIsSet(utils.TestnetFlag.Name) && !ctx.GlobalIsSet(utils.RinkebyFlag.Name) && !ctx.GlobalIsSet(utils.GoerliFlag.Name) {
+ // Nope, we're really on mainnet. Bump that cache up!
+ log.Info("Bumping default cache on mainnet", "provided", ctx.GlobalInt(utils.CacheFlag.Name), "updated", 4096)
+ ctx.GlobalSet(utils.CacheFlag.Name, strconv.Itoa(4096))
+ }
+ }
+ // If we're running a light client on any network, drop the cache to some meaningfully low amount
+ if ctx.GlobalString(utils.SyncModeFlag.Name) == "light" && !ctx.GlobalIsSet(utils.CacheFlag.Name) {
+ log.Info("Dropping default light client cache", "provided", ctx.GlobalInt(utils.CacheFlag.Name), "updated", 128)
+ ctx.GlobalSet(utils.CacheFlag.Name, strconv.Itoa(128))
+ }
// Cap the cache allowance and tune the garbage collector
var mem gosigar.Mem
if err := mem.Get(); err == nil {