Un programa que uso con asiduidad en Linux es rtorrent. Personalmente me parece uno de los mejores clientes Bittorrent de la actualidad.
El caso es que lo tengo configurado para tener un par de miles de conexiones abiertas simultáneamente. Pero el propio sistema operativo me lo limita a un máximo de 1024 ficheros abiertos (ya sabes que en *nix las conexiones son tratadas como ficheros).
Para configurar este máximo, la teoría dice que hay que editar (como root) el fichero /etc/security/limits.conf y poner unas entradas del tipo
* hard nofile 5500
* soft nofile 5000
Una vez hecho esto, abres una nueva instancia de bash, pones el comando ulimit -a y la salida incluye:
open files (-n) 5000
Bien. Funciona. Al menos eso parecía, pero en realidad, si ves el fichero /proc/PID/limits, aparece una línea
Max open files 1024 1024 files
lo que es malo, pues me está diciendo que realmente continúa el límite de 1024 ficheros. Y eso me ocurre en rtorrent.
Para aclarar la situación, el rtorrent lo lanzo desde una ventana xterm que a su vez es lanzada desde un terminal Xvnc.
Tras investigar, resulta que el motivo de esta limitación está en el módulo PAM. Dado que vnc no es un servicio reconocido por defecto por PAM, éste no le aplica una coniguración específica, sino la configuración común, la cual no tiene por defecto la inclusión de los límites marcados en /etc/security/limits.conf. la solución que he encontrado es incluir el procesamiento de pam_limits.so en /etc/pam.d/common-session, añadiendo a este fichero la línea
session required pam_limits.so
Incognichollos de hoy (11/4/2021)
Hace 3 años