diff options
author | Péter Szilágyi <peterke@gmail.com> | 2015-07-22 18:46:20 +0800 |
---|---|---|
committer | Péter Szilágyi <peterke@gmail.com> | 2015-07-22 19:00:52 +0800 |
commit | c7e7778f2a7d80fa12643db546db98fa70f2e384 (patch) | |
tree | ec31d9621aa5b265af6a4c9098c2ad913c1a325d /cmd/utils | |
parent | f1daed65b1f89cae6327cd9f49668628c6980ade (diff) | |
download | dexon-c7e7778f2a7d80fa12643db546db98fa70f2e384.tar.gz dexon-c7e7778f2a7d80fa12643db546db98fa70f2e384.tar.zst dexon-c7e7778f2a7d80fa12643db546db98fa70f2e384.zip |
cmd, core, eth, ethdb: cache flag to allocate memory for db internal use
Diffstat (limited to 'cmd/utils')
-rw-r--r-- | cmd/utils/flags.go | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index 73bdb935a..68de67cde 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -126,6 +126,11 @@ var ( Name: "natspec", Usage: "Enable NatSpec confirmation notice", } + CacheFlag = cli.IntFlag{ + Name: "cache", + Usage: "Megabytes of memory allocated to internal caching", + Value: 0, + } // miner settings MinerThreadsFlag = cli.IntFlag{ @@ -384,6 +389,7 @@ func MakeEthConfig(clientID, version string, ctx *cli.Context) *eth.Config { GenesisNonce: ctx.GlobalInt(GenesisNonceFlag.Name), GenesisFile: ctx.GlobalString(GenesisFileFlag.Name), BlockChainVersion: ctx.GlobalInt(BlockchainVersionFlag.Name), + DatabaseCache: ctx.GlobalInt(CacheFlag.Name), SkipBcVersionCheck: false, NetworkId: ctx.GlobalInt(NetworkIdFlag.Name), LogFile: ctx.GlobalString(LogFileFlag.Name), @@ -425,15 +431,17 @@ func SetupLogger(ctx *cli.Context) { // MakeChain creates a chain manager from set command line flags. func MakeChain(ctx *cli.Context) (chain *core.ChainManager, blockDB, stateDB, extraDB common.Database) { - dd := ctx.GlobalString(DataDirFlag.Name) + datadir := ctx.GlobalString(DataDirFlag.Name) + cache := ctx.GlobalInt(CacheFlag.Name) + var err error - if blockDB, err = ethdb.NewLDBDatabase(filepath.Join(dd, "blockchain")); err != nil { + if blockDB, err = ethdb.NewLDBDatabase(filepath.Join(datadir, "blockchain"), cache); err != nil { Fatalf("Could not open database: %v", err) } - if stateDB, err = ethdb.NewLDBDatabase(filepath.Join(dd, "state")); err != nil { + if stateDB, err = ethdb.NewLDBDatabase(filepath.Join(datadir, "state"), cache); err != nil { Fatalf("Could not open database: %v", err) } - if extraDB, err = ethdb.NewLDBDatabase(filepath.Join(dd, "extra")); err != nil { + if extraDB, err = ethdb.NewLDBDatabase(filepath.Join(datadir, "extra"), cache); err != nil { Fatalf("Could not open database: %v", err) } |