# Cómo aumentar el límite de archivos abiertos (ulimit -n) en un contenedor LXC de Proxmox 9 con Debian 13

- Link: https://binariocero.com/linux/como-aumentar-el-limite-de-archivos-abiertos-ulimit-n-en-un-contenedor-lxc-de-proxmox-9-con-debian-13
- Published: 2025-08-15T08:22:59+02:00
- Author: Juan José Fernández Durán

![Loading](https://binariocero.com/wp-content/plugins/page-views-count/ajax-loader-
2x.gif)

En entornos de producción, es habitual que aplicaciones como servidores web, bases
de datos o sistemas de monitorización requieran un número elevado de descriptores
de archivos abiertos. En Linux, este límite se controla con el parámetro **`ulimit-
n`**.

En contenedores **LXC** gestionados por **Proxmox VE**, este valor está condicionado
por dos factores:

 1. La configuración del **host Proxmox**.
 2. La configuración interna del **sistema operativo del contenedor**.

En este artículo se describe cómo aumentar de forma persistente el límite de archivos
abiertos en un contenedor LXC con **Debian 13**.

## **1. Configuración del límite en el host Proxmox**

El primer paso es definir el límite máximo que el contenedor puede alcanzar. Esto
se realiza editando el archivo de configuración del LXC en el host.

 1. Localizar el archivo de configuración del contenedor: 
    `/etc/pve/lxc/ID.conf` Sustituir`
    ID` por el identificador del contenedor (por ejemplo, `101`).
 2. Editar el archivo y añadir o modificar la directiva: 
    `lxc.prlimit.nofile: 65535`
    Este parámetro define el número máximo de descriptores de archivos que el contenedor
    puede manejar.El valor `65535` es un ejemplo habitual en entornos de alto rendimiento.
 3. Reiniciar el contenedor para aplicar los cambios: 
    `pct restart ID`

## **2. Configuración dentro del contenedor Debian 13**

Una vez que el host permite el nuevo límite, es necesario configurar el sistema 
interno del contenedor para que utilice dicho valor.

### **2.1. Ajustar `/etc/security/limits.conf`**

Editar el archivo:

    ```wp-block-code
    nano /etc/security/limits.conf
    ```

Añadir:

    ```wp-block-code
    *               soft    nofile          65535
    *               hard    nofile          65535
    ```

 * `soft`: Límite que el sistema aplica por defecto a los procesos.
 * `hard`: Límite máximo que se puede establecer para un usuario o proceso.

### **2.2. Habilitar la carga de límites con PAM**

En Debian, PAM (Pluggable Authentication Modules) gestiona los límites de recursos.

Asegúrese de que se cargue el módulo `pam_limits.so` en:

    ```wp-block-code
    nano /etc/pam.d/common-session
    nano /etc/pam.d/common-session-noninteractive
    ```

Añadir (si no existe):

    ```wp-block-code
    session required pam_limits.so
    ```

### **2.3. Ajustar límites globales de `systemd`**

En sistemas con `systemd`, es recomendable definir el límite global:

 1. Crear directorio de configuración: `mkdir -p /etc/systemd/system.conf.d`
 2. Crear archivo de configuración: `nano /etc/systemd/system.conf.d/nofile.conf` Con
    el contenido: `[Manager] DefaultLimitNOFILE=65535`

### **2.4. Ajustar límites por servicio**

Algunos servicios gestionados por `systemd` requieren configurar el límite directamente
en su unidad.
Por ejemplo, para **Nginx**:

    ```wp-block-code
    systemctl edit nginx
    ```

Añadir:

    ```wp-block-code
    [Service]
    LimitNOFILE=65535
    ```

Recargar `systemd`:

    ```wp-block-code
    systemctl daemon-reexec
    ```

## **3. Verificación**

### **3.1. Verificar límite en sesión**

Dentro del contenedor:

    ```wp-block-code
    ulimit -n
    ```

Debe mostrar:

    ```wp-block-code
    65535
    ```

### **3.2. Verificar límite en un servicio**

Por ejemplo, para Nginx:

    ```wp-block-code
    systemctl show nginx -p LimitNOFILE
    ```

Salida esperada:

    ```wp-block-code
    LimitNOFILE=65535
    ```

## **4. Consideraciones importantes**

 * Si no se establece `lxc.prlimit.nofile` en el host Proxmox, los cambios dentro
   del contenedor no tendrán efecto, aunque se modifiquen archivos como `limits.
   conf`.
 * No es recomendable establecer valores extremadamente altos sin conocer el impacto
   en el rendimiento y en el consumo de memoria del sistema.
 * Algunos procesos pueden requerir reinicio completo del contenedor para aplicar
   los cambios.

## **Conclusión**

El ajuste de `ulimit -n` en contenedores LXC requiere **coordinación entre la configuración
del host Proxmox y la del propio contenedor Debian**. Siguiendo estos pasos, es 
posible aumentar de forma persistente el límite de archivos abiertos y garantizar
que las aplicaciones críticas dispongan de los recursos necesarios para operar sin
restricciones innecesarias.
