Essas configurações estão disponíveis em system.settings e são autogeradas a partir do código-fonte.
max_memory_usage
Valor padrão no Cloud: depende da quantidade de RAM na réplica.
A quantidade máxima de RAM a ser usada para executar uma consulta em um único servidor.
Um valor de 0 significa ilimitado.
Essa configuração não considera a quantidade de memória disponível nem a quantidade total de memória na máquina. A restrição se aplica a uma única consulta em um único servidor.
Você pode usar SHOW PROCESSLIST para ver o consumo de memória atual de cada consulta.
O pico de consumo de memória é rastreado para cada consulta e registrado no log.
O uso de memória não é totalmente rastreado para os estados das seguintes funções de agregação
com argumentos String e Array:
minmaxanyanyLastargMinargMax
O consumo de memória também é restringido pelos parâmetros max_memory_usage_for_user
e max_server_memory_usage.
max_memory_usage_for_user
A quantidade máxima de RAM usada para executar as consultas de um usuário em um único servidor. Zero significa ilimitado.
Por padrão, essa quantidade não é restrita (max_memory_usage_for_user = 0).
Veja também a descrição de max_memory_usage.
Por exemplo, se você quiser definir max_memory_usage_for_user como 1000 bytes para um usuário chamado clickhouse_read, poderá usar a instrução
ALTER USER clickhouse_read SETTINGS max_memory_usage_for_user = 1000;Você pode verificar se funcionou encerrando a sessão no cliente, entrando novamente e, em seguida, usando a função getSetting:
SELECT getSetting('max_memory_usage_for_user');