Tenemos un cuadro de CentOS que estoy tratando de aumentar el número máximo de archivos que un usuario puede tener abierto. Actualmente cuando corro ulimit -Snme sale 1024y ulimit -Hnda 4096. Necesito ese número alrededor de 6000.
En que /etc/sysctl.confme he puesto fs.file-max = 100000. En /etc/security/limits.conftengo el siguiente conjunto:
username soft nofile 6000
username hard nofile 65535
Me desconecté y volví a iniciar sesión como usernamepero todavía no veo mis cambios. ¿Qué necesito para cambiar este valor?
Todo lo que tengo en /etc/security/limits.des 90-nproc.conf. También me aseguré de que no se llame a ulimit en mi .bash_profile o .bashrc.
Cuando lo ejecuto sysctl -pescupe la configuración que quiero y muestra el valor fs.file-maxque quiero. Pero cuando corro ulimit -Sn, obtengo 1048. Si trato de correr sysctl --system, obtengo error: Unknown parameter "--system".

Respuestas:
Para forzar
/etc/sysctl.confa ser leído nuevamente, ejecutesysctl -p.El archivo
/etc/security/limits.confse lee mediante shells de inicio de sesión y debe cerrar las ventanas de las sesiones activas si está en la GUI. Para inicios de sesión remotos, surte efecto en el relog.fuente
fs.file-maxes el número máximo de archivos abiertos en el sistema. Es un límite difícil y no se verá reflejado por lasulimitllamadas en su caso.Como ha dicho otro póster, necesita que sysctl establezca el valor en el kernel en ejecución. Hay varias formas de establecer el valor sin reiniciar:
En mi humilde opinión, el último método es el mejor, ya que replica el orden en que se aplicaría la configuración durante el arranque (y, por lo tanto, si tiene un conflicto, se hará evidente).
Nota: No estoy seguro de qué versión de CentOS está usando, pero al menos en 7 me he encontrado con un problema en el que si dracut reconstruye initramfs por algún motivo (como al instalar un nuevo módulo de kernel) se copiará el contenido de /etc/sysctl.* en initramfs, que luego será ejecutado por systemd-sysctl durante esa fase, incluso si luego elimina esas entradas de /etc/sysctl.conf.
En mi entorno, he editado el módulo systemd dracut para excluir /etc/sysctl.* de ese entorno (ya que esas configuraciones se establecerán una vez que se monte el rootfs y se ejecute systemd-sysctl nuevamente). Es solo un problema con el que podrías toparte.
fuente