Ubuntu 18.04 paso a paso
Espero que todo esto ayude, bastante tiempo, pero funciona (con prueba)
Encontré este hilo mientras instalaba MongoDb en Ubuntu 18.04
https://posidev.com/blog/2009/06/04/set-ulimit-parameters-on-ubuntu/
Como puede ver, es bastante antiguo, sin embargo, me funciona.
Aquí esta lo que hice.
Configuración recomendada de MongoDb ( https://docs.mongodb.com/manual/reference/ulimit/#review-and-set-resource-limits )
- -f (tamaño del archivo): ilimitado
- -t (tiempo de CPU): ilimitado
- -v (memoria virtual): ilimitado [1]
- -l (tamaño de memoria bloqueada): ilimitado
- -n (archivos abiertos): 64000
- -m (tamaño de memoria): ilimitado [1] [2]
- -u (procesos / hilos): 64000
Verifica mis límites actuales
ubuntu @ isdb-stage: ~ $ ulimit -a
tamaño del archivo central (bloques, -c) 0
tamaño seg de datos (kbytes, -d) ilimitado
prioridad de programación (-e) 0
tamaño de archivo (bloques, -f) ilimitado
señales pendientes (-i) 7873
memoria bloqueada máxima (kbytes, -l) 16384
tamaño máximo de memoria (kbytes, -m) ilimitado
abrir archivos (-n) 1024
tamaño de tubería (512 bytes, -p) 8
Colas de mensajes POSIX (bytes, -q) 819200
prioridad en tiempo real (-r) 0
tamaño de pila (kbytes, -s) 8192
tiempo de CPU (segundos, -t) ilimitado
max procesos de usuario (-u) 7873
memoria virtual (kbytes, -v) ilimitada
bloqueos de archivos (-x) ilimitados
Tome nota de lo que requiere cambiar
- tamaño de memoria bloqueada , debe establecerse en ilimitado.
- abrir archivos , debe establecerse en 64000
- procesos / subprocesos * , debe establecerse en 64000
¿Qué dice ubuntu sobre cómo cambiar estos límites?
$ man limits.conf
NOMBRE
limits.conf - archivo de configuración para el módulo pam_limits
DESCRIPCIÓN
El módulo pam_limits.so aplica límites de límite, prioridad agradable y límite de sesiones de inicio de sesión simultáneas a las sesiones de inicio de sesión de usuario. Esta descripción de la sintaxis del archivo de configuración se aplica a
/etc/security/limits.conf y los archivos * .conf en
/etc/security/limits.d directorio.
- Parece bastante claro, edite el archivo /etc/security/limits.conf. Ok, vamos a resolverlo ...
Aquí está el comienzo de ese archivo, y mira que incluso tiene instrucciones, por supuesto, ¡recuerda que esto es de código abierto escrito por los buenos! :)
vi /etc/security/limits.conf
# /etc/security/limits.conf
# Cada línea describe un límite para un usuario en el formulario:
# #
#Dónde:
# puede ser:
# - un nombre de usuario
(Eche un vistazo al archivo usted mismo si desea más detalles)
- Finalmente haz los cambios. Como MongoDb se ejecuta como grupo mongodb y usuario, sería una buena idea aumentar solo los límites de los usuarios. He visto '*' usado aquí y allá, para mí eso es un riesgo de seguridad. Le da a todos y cada uno en el servidor estos límites, que podrían usarse para maximizar su servidor. Así que hagámoslos solo para usuarios de mongodb.
Aquí están mis cambios: -
mongodb soft memlock ilimitado
mongodb hard memlock ilimitado
mongodb soft nofile 64000
mongodb hard nofile 64000
mongodb soft nproc 64000
mongodb hard nproc 64000
Finalmente, finalmente, recuerde esto en la entrada man limits.conf.
limits.conf - archivo de configuración para el módulo pam_limits
Mejor asegúrese de que el módulo pam_limits esté cargado para que todo esto limite las cosas. Para hacer esto, edite /etc/pam.d/common-session. Por supuesto, esto también está en la página del manual.
sudo vi /etc/pam.d/common-session
# Agregue esto para asegurarse de que pam_limits.so esté cargado.
se requiere sesión pam_limits.so
Un reinicio mostrará los límites (para el usuario mongodb) que se han aplicado. Si los aplicó usando '*' en su lugar, puede verificar sin tener que cambiar al usuario mongodb. Solo ejecuta este comando.
$ ulimit -a
tamaño del archivo central (bloques, -c) 0
tamaño seg de datos (kbytes, -d) ilimitado
prioridad de programación (-e) 0
tamaño de archivo (bloques, -f) ilimitado
señales pendientes (-i) 7873
memoria bloqueada máxima (kbytes, -l) ilimitada
tamaño máximo de memoria (kbytes, -m) ilimitado
abrir archivos (-n) 64000
tamaño de tubería (512 bytes, -p) 8
Colas de mensajes POSIX (bytes, -q) 819200
prioridad en tiempo real (-r) 0
tamaño de pila (kbytes, -s) 8192
tiempo de CPU (segundos, -t) ilimitado
procesos de usuario máx. (-u) 64000
memoria virtual (kbytes, -v) ilimitada
bloqueos de archivos (-x) ilimitados
Como puede ver, lubbly jubbly todo establecido a los límites que queríamos.