diff --git a/substrate/client/cli/src/lib.rs b/substrate/client/cli/src/lib.rs index 5d67f42c63..203ca04951 100644 --- a/substrate/client/cli/src/lib.rs +++ b/substrate/client/cli/src/lib.rs @@ -733,7 +733,7 @@ where config.database = DatabaseConfig::Path { path: config.in_chain_config_dir(DEFAULT_DB_CONFIG_PATH).expect("We provided a base_path."), - cache_size: cli.database_cache_size, + cache_size: Some(cli.database_cache_size), }; config.state_cache_size = cli.state_cache_size; diff --git a/substrate/client/cli/src/params.rs b/substrate/client/cli/src/params.rs index 15ec2fa113..1324d3419f 100644 --- a/substrate/client/cli/src/params.rs +++ b/substrate/client/cli/src/params.rs @@ -385,8 +385,8 @@ pub struct RunCmd { pub light: bool, /// Limit the memory the database cache can use. - #[structopt(long = "db-cache", value_name = "MiB")] - pub database_cache_size: Option, + #[structopt(long = "db-cache", value_name = "MiB", default_value = "1024")] + pub database_cache_size: u32, /// Specify the state cache size. #[structopt(long = "state-cache-size", value_name = "Bytes", default_value = "67108864")] diff --git a/substrate/client/db/src/utils.rs b/substrate/client/db/src/utils.rs index 6b636c0c77..516f3d11b0 100644 --- a/substrate/client/db/src/utils.rs +++ b/substrate/client/db/src/utils.rs @@ -215,8 +215,8 @@ pub fn open_database( let mut db_config = DatabaseConfig::with_columns(Some(NUM_COLUMNS)); if let Some(cache_size) = cache_size { - let state_col_budget = (*cache_size as f64 * 0.7) as usize; - let other_col_budget = cache_size - state_col_budget; + let state_col_budget = (*cache_size as f64 * 0.9) as usize; + let other_col_budget = (cache_size - state_col_budget) / (NUM_COLUMNS as usize - 1); let mut memory_budget = std::collections::HashMap::new(); for i in 0..NUM_COLUMNS {