Skip to main content
Essas configurações estão disponíveis em system.settings e são geradas automaticamente a partir do código-fonte.

max_threads

O número máximo de threads de processamento de consultas, excluindo as threads usadas para recuperar dados de servidores remotos (consulte o parâmetro ‘max_distributed_connections’). Este parâmetro se aplica a threads que executam os mesmos estágios do pipeline de processamento de consultas em paralelo. Por exemplo, ao ler de uma tabela, se for possível avaliar expressões com funções, filtrar com WHERE e pré-agregar para GROUP BY em paralelo usando pelo menos o número de threads definido em ‘max_threads’, então ‘max_threads’ será usado. Para consultas concluídas rapidamente por causa de um LIMIT, você pode definir um valor menor para ‘max_threads’. Por exemplo, se o número necessário de entradas estiver localizado em cada bloco e max_threads = 8, então 8 blocos serão recuperados, embora bastasse ler apenas um. Quanto menor o valor de max_threads, menor o consumo de memória. A configuração max_threads, por padrão, corresponde ao número de threads de hardware (número de CPU cores) disponíveis para o ClickHouse. Como caso especial, em processadores x86 com menos de 32 CPU cores e SMT (por exemplo, Intel HyperThreading), o ClickHouse usa por padrão o número de núcleos lógicos (= 2 x número de núcleos físicos). Sem SMT (por exemplo, Intel HyperThreading), isso corresponde ao número de CPU cores. Para usuários do ClickHouse Cloud, o valor padrão será exibido como auto(N), em que N corresponde ao tamanho de vCPU do seu serviço, por exemplo, 2vCPU/8GiB, 4vCPU/16GiB etc. Consulte a tab de configurações no console do Cloud para ver uma lista de todos os tamanhos de serviço.

max_threads_for_indexes

O número máximo de threads para processar índices.

max_threads_min_free_memory_per_thread

Reduz max_threads quando o servidor está sob pressão de memória, para evitar iniciar consultas com alto paralelismo que provavelmente atingiriam o limite de memória. A memória livre é calculada como max_server_memory_usage do servidor menos a memória atualmente rastreada pelo memory tracker global. Se essa memória livre for menor que max_threads multiplicado por esse valor, max_threads será reduzido ao maior N tal que N * value <= free_memory, com mínimo de 1. Defina como 0 para desabilitar esse limite. Por exemplo, com o valor padrão de 1 GiB e 32 GiB de memória livre, max_threads fica limitado a 32; com 1 GiB de memória livre, ele é reduzido para 1. Essa configuração se aplica ao paralelismo no lado da leitura (SELECT, UNION, INTERSECT/EXCEPT e o lado SELECT de INSERT ... SELECT). Para o lado da escrita, consulte max_insert_threads_min_free_memory_per_thread.
Última modificação em 23 de julho de 2026