Puedo usar ulimit pero creo que eso solo afecta mi sesión de shell. Quiero que se aumente el límite para todos los procesos. Esto está en Red Hat.
Puedo usar ulimit pero creo que eso solo afecta mi sesión de shell. Quiero que se aumente el límite para todos los procesos. Esto está en Red Hat.
Respuestas:
La respuesta de Justin le dice cómo aumentar el número de archivos abiertos disponibles en total para todo el sistema. Pero creo que está preguntando cómo aumentar el límite por usuario, a nivel mundial. La respuesta a eso es agregar las siguientes líneas a /etc/security/limits.conf
:
* soft nofile 2048
* hard nofile 2048
(Donde * significa todos los usuarios).
Hay un poco de documentación resumida en ese archivo y en él man limits.conf
. Esto se implementa a través del pam_limits.so
módulo que se llama para varios servicios configurados en /etc/pam.d/
.
Y, debo admitir, no tengo idea de dónde viene ese valor predeterminado de 1024. Y créeme, lo miré. Incluso lo intenté sin el módulo pam_limits configurado, y todavía está allí. Debe estar codificado en alguna parte, pero no estoy exactamente seguro de dónde.
De acuerdo con el artículo Linux Increase The Maximum Number of Open Files / File Descriptors (FD) , puede aumentar el límite de archivos abiertos agregando una entrada a /etc/sysctl.conf
.
Agregue una directiva de configuración de la siguiente manera:
fs.file-max = 100000
Luego guarde y cierre el archivo. Los usuarios deben cerrar sesión y volver a iniciarla para que los cambios surtan efecto o simplemente pueden escribir el siguiente comando:
# sysctl -p
También puede verificar su configuración con el comando:
# cat /proc/sys/fs/file-max
Aumente el número máximo de archivos abiertos ulimit en Linux
1.Paso: abra sysctl.conf
y agregue esta línea fs.file-max = 65536
$ vi /etc/sysctl.conf
agregar nueva línea y
fs.file-max = 65536
guardar y Salir.
2. Paso:
$ vi /etc/security/limits.conf
y agregue debajo de lo mencionado
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
guardar y salir verifique el archivo abierto máximo ulimit
# ulimit -a
....
open files (-n) 65535
Pero si está tratando de aumentar el número máximo de archivos abiertos de un servicio como MariaDB o algo más (usando systemd ), debe hacerlo directamente en el archivo .service
/lib/systemd/system/<servicename>.service
Será algo como esto:
[Unit]
Description=Some Daemon
After=syslog.target network.target
[Service]
Type=notify
LimitNOFILE=49152
ExecStart=/usr/sbin/somedaemon
[Install]
WantedBy=multi-user.target
La respuesta completa está aquí: aumento de nproc para procesos lanzados por systemd en CentOS 7
systemd
junto con sus cambios en curso están aumentando en todo el ecosistema Linux. Sin embargo, sugeriría editar la respuesta cp -r /lib/systemd/system/mariadb.service /etc/systemd/system/
y realizar los cambios en ese archivo, en lugar del archivo de servicio de todo el sistema que proporciona el paquete.
SUPLEMENTO
Puede encontrar la configuración en un lugar diferente: /etc/security/limits.d/*.conf
Tuve que modificarlo. No funcionó sin él. El formato es el mismo que paralimits.conf