`total_memory_tracker.setOrRaiseHardLimit(...);` in `ConfigReloader` callback (see `Server.cpp`).
global_context->makeGlobalContext();
    global_context->setApplicationType(Context::ApplicationType::SERVER);
    
    
    
    GlobalThreadPool::initialize(config().getUInt("max_thread_pool_size", 10000));
    bool has_zookeeper = config().has("zookeeper");
    zkutil::ZooKeeperNodeCache main_config_zk_node_cache([&] { return global_context->getZooKeeper(); });
    zkutil::EventPtr main_config_zk_changed_event = std::make_shared<Poco::Event>();
    if (loaded_config.has_zk_includes)
    {
        auto old_configuration = loaded_config.configuration;
        ConfigProcessor config_processor(config_path);
        loaded_config = config_processor.loadConfigWithZooKeeperIncludes(
            main_config_zk_node_cache, main_config_zk_changed_event,  true);
        config_processor.savePreprocessedConfig(loaded_config, config().getString("path", DBMS_DEFAULT_PATH));
        config().removeConfiguration(old_configuration.get());
        config().add(loaded_config.configuration.duplicate(), PRIO_DEFAULT, false);
    }
    Settings::checkNoSettingNamesAtTopLevel(config(), config_path);
    const auto memory_amount = getMemoryAmount();
#if defined(OS_LINUX)
    std::string executable_path = getExecutablePath();
    if (!executable_path.empty())
    {