Skip to main content

La aplicación IEC no puede abrir más identificadores de archivos.

Importante

Antes de cambiar el límite de identificadores de archivos en su sistema, debe considerar urgentemente las consecuencias para todos los servicios de su sistema Linux. En su lugar, recomendamos encontrar la causa de la filtración.

Solución de problemas

. Los siguientes efectos pueden deberse a una filtración del identificador de archivos:
  • Pérdida del estado de la licencia. La licencia WIBU se interrumpe después de un cierto período de tiempo.

  • No se pueden abrir archivos nuevos.

El comportamiento predeterminado de los procesos de Linux es permitir un número máximo de identificadores de archivos abiertos. Cuando un proceso alcanza este límite, no se pueden abrir más archivos nuevos.

Puede comprobar el valor límite de su sistema con el comando de consola:

ulimit -n

Cada proceso en Linux tiene un identificador de proceso y el núcleo proporciona información detallada sobre cada proceso en su sistema de archivos/carpetas procfs. Esto le permite determinar fácilmente la cantidad de identificadores de archivos que tiene un proceso en un momento dado.

. Recomendamos seguir los siguientes pasos para investigar una posible filtración del identificador de archivos:
  1. Busque el identificador de proceso del CODESYS entorno de ejecución.

    Puede utilizar las herramientas estándar de Linux para encontrar el identificador de proceso del CODESYS entorno de ejecución:

    • htop normalmente muestra el identificador del proceso en la primera columna (PID).

    • top normalmente muestra el identificador del proceso en la primera columna (PID).

    • Puedes combinar el ps y grep comandos para una búsqueda rápida:

      ps aux | grep codesyscontrol

    Tome nota del ID del proceso y utilícelo en los siguientes comandos en los que se utiliza el marcador de posición <pid>.

  2. Compruebe y supervise los identificadores de archivos.

    Ahora liste las entradas en procfs para ver los identificadores de archivos del proceso de ejecución.

    sudo ls -la /proc/<pid>/fd/

    ejemplo 4. Esto puede tener el siguiente aspecto
    _rtsl_img_iec_filehandle.png


    • Si los identificadores de archivos son archivos «reales», puede ver la ruta. Otros identificadores de archivos pueden ser sockets o similares.

    • Si ejecuta este comando varias veces una tras otra, puede observar si tiene un número creciente de identificadores de archivos y qué archivos están abiertos.

    • El watch el comando crea una vista que se actualiza cada 2 segundos.

      watch sudo ls -la /proc/<pid>/fd/

Estas acciones pueden ayudarlo a monitorear los identificadores abiertos y, por lo tanto, a descubrir qué archivos podrían estar involucrados en la filtración del identificador de archivos.