determinar ulimit para usuario root

8

Creemos que hemos aumentado el número máximo de descriptores de archivos abiertos para el usuario root. Esto se hizo agregando esta línea a /etc/security/limits.conf:

*         -    nofile            2048

Creemos que hemos confirmado que el límite del usuario root se incrementó porque podemos decir (no se describe aquí) que nuestra aplicación (solr, que es ejecutada por root) tiene 1098 archivos abiertos. Sin embargo, no podemos decir con certeza cuántos archivos abiertos tiene permitido el usuario root. Esperaríamos que este comando funcione, pero no parece ser:

$ sudo -u root -s "ulimit -Sn"
1024

¿Algunas ideas? ¡Gracias!

andersonbd1
fuente
¿Hay alguna otra entrada para nofile en limits.conf? Tal vez se está anulando. ¿Qué pasa con los posibles errores de análisis de limit.conf. ¿Puedes adjuntar todo tu archivo?
Andrew Case
¿Estás ejecutando selinux? ¿Cuál es el resultado de: ls -lZ /etc/security/limits.conf
Andrew Case

Respuestas:

6

Obtenga el PID del proceso que se solrestá ejecutando y luego cat /proc/$SOLR_PID/limits, esto le indicará los límites reales del proceso.

Recomiendo ejecutar cosas solrcomo un usuario separado sin privilegios. Al hacer esto, tiene múltiples opciones ( limits.conf o agregar un ulimit -n 2048a la secuencia de comandos de inicio, ...). El último no es tan brillante, pero funciona para configuraciones rápidas y reiniciar el demonio

RANT: no me digas que no puedes reiniciar porque perderás el servicio. Si ese es el caso, debería tener una configuración de alta disponibilidad de todos modos :)

Martin M.
fuente
5

Después de cambiar el número de archivos abiertos /etc/security/limits.conf, el usuario debe cerrar sesión y volver a iniciarla para que surta efecto. Entonces, prueba esto:

$ sudo su -
# ulimit -Sn
quanta
fuente
2

Sé que esta pregunta tiene una respuesta, pero parece más una solución, no una solución real.

Según ubuntu, esto no es un error, sino un problema de documentación, consulte: https://bugs.launchpad.net/ubuntu/+source/pam/+bug/65244

Gracias por tu informe. Como dijiste, esto no es un error en pam sino un problema de documentación. El hecho de permitir explícitamente los límites para la raíz del usuario se ha abordado hace un tiempo (30 de agosto de 2000), pero debe nombrar explícitamente la raíz del usuario para aplicar los límites.

Entonces, si desea cambiar el ulimit en todos los usuarios, incluido el usuario raíz, debe especificar:

*         -    nofile            2048
root      -    nofile            2048
Zunderscore
fuente