> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ajustes de sesión max_threads_*

> Ajustes de sesión de ClickHouse en el grupo generado max_threads_*.

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>Tipo</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>Predeterminado</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Modificable sin reiniciar
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Estas opciones de configuración están disponibles en [system.settings](/docs/es/reference/system-tables/settings) y se generan automáticamente a partir del [código fuente](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="max_threads">
  ## max\_threads
</div>

<SettingsInfoBlock type="MaxThreads" default_value="auto(N)" />

El número máximo de hilos de procesamiento de consultas, excluidos los hilos utilizados para recuperar datos de servidores remotos (consulte el parámetro ['max\_distributed\_connections'](/docs/es/reference/settings/session-settings/max-distributed#max_distributed_connections)).

Este parámetro se aplica a los hilos que ejecutan en paralelo las mismas etapas del pipeline de procesamiento de consultas.
Por ejemplo, al leer de una tabla, si es posible evaluar expresiones con funciones, filtrar con `WHERE` y preagregar para `GROUP BY` en paralelo usando al menos 'max\_threads' hilos, entonces se usan 'max\_threads'.

Para las consultas que se completan rápidamente debido a un LIMIT, puede establecer un valor más bajo de 'max\_threads'.
Por ejemplo, si el número necesario de filas se encuentra en cada bloque y max\_threads = 8, entonces se recuperan 8 bloques, aunque habría bastado con leer solo uno.
Cuanto menor sea el valor de `max_threads`, menos memoria se consume.

De forma predeterminada, la configuración `max_threads` coincide con el número de hilos de hardware (número de núcleos de CPU) disponibles para ClickHouse.
Como caso especial, en procesadores x86 con menos de 32 núcleos de CPU y SMT (p. ej., Intel HyperThreading), ClickHouse usa de forma predeterminada el número de núcleos lógicos (= 2 x número de núcleos físicos).

Sin SMT (p. ej., Intel HyperThreading), esto corresponde al número de núcleos de CPU.

Para los usuarios de ClickHouse Cloud, el valor predeterminado se mostrará como `auto(N)`, donde N coincide con el tamaño de vCPU de su servicio; por ejemplo, 2vCPU/8GiB, 4vCPU/16GiB, etc.
Consulte la pestaña de configuración en la Cloud Console para ver una lista de todos los tamaños de servicio.

<div id="max_threads_for_indexes">
  ## max\_threads\_for\_indexes
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

El número máximo de hilos que procesan índices.

<div id="max_threads_min_free_memory_per_thread">
  ## max\_threads\_min\_free\_memory\_per\_thread
</div>

<SettingsInfoBlock type="UInt64" default_value="1073741824" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "1073741824"},{"label": "Nueva configuración para limitar el número de hilos en función de la memoria libre disponible"}]}]} />

Reduce `max_threads` cuando el servidor está bajo presión de memoria, para evitar iniciar consultas con mucho paralelismo que probablemente alcancen el límite de memoria.

La memoria libre se calcula como el valor de `max_server_memory_usage` del servidor menos la memoria que registra actualmente el rastreador global de memoria. Si esa memoria libre es inferior a `max_threads` multiplicado por este valor, `max_threads` se reduce al mayor N tal que `N * value <= free_memory`, con un mínimo de `1`.

Establezca `0` para desactivar este límite.

Por ejemplo, con el valor predeterminado de 1 GiB y 32 GiB de memoria libre, `max_threads` queda limitado a 32; con 1 GiB de memoria libre, se reduce a 1.

Esta configuración se aplica al paralelismo del lado de lectura (`SELECT`, `UNION`, `INTERSECT`/`EXCEPT` y el lado `SELECT` de `INSERT ... SELECT`). Para el lado de escritura, consulte `max_insert_threads_min_free_memory_per_thread`.
