diff options
author | Péter Szilágyi <peterke@gmail.com> | 2019-04-18 17:46:27 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-18 17:46:27 +0800 |
commit | d8dc37c85bb68d83c05b819e03a7b5c05c815e42 (patch) | |
tree | fe9bfdfffe18929a8625247163891569dfe707f7 /cmd/geth | |
parent | 29bba5d0b2102f405122e2ab8462f262e285cefb (diff) | |
parent | d9d60a5a7f622acd9233d075f009a91a84b62c78 (diff) | |
download | go-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.go | 14 |
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 { |