GNU/Linux >> Tutoriales Linux >  >> Linux

Máximo de archivos abiertos para el proceso de trabajo

echo -n "Max open files=20:20" > /proc/$pid/limits

...funciona en RHEL5.5 y RHEL6.7.

Tenga en cuenta que la "-n" es obligatoria; una nueva línea final generará una queja sobre argumentos inválidos.


Otra opción es usar el comando prlimit (del paquete util-linux). Por ejemplo, si desea establecer el número máximo de archivos abiertos para un proceso en ejecución en 4096:

prlimit -n4096 -p pid_of_process


Puede usar gdb, ingresar al proceso, llamar a las llamadas al sistema antes mencionadas para aumentar el límite que le interesa, luego continuar el trabajo y salir de gdb. He editado cosas sobre la marcha de esta manera varias veces.

Su aplicación no estaría inactiva, sino congelada por el momento mientras realizaba la llamada. si eres rápido (¡o escribes un guion!), es probable que no se note.


Como administrador del sistema :El /etc/security/limits.conf file controla esto en la mayoría de las instalaciones de Linux; le permite establecer límites por usuario. Querrás una línea como myuser - nofile 1000 .

Dentro de un proceso :Las llamadas getrlimit y setrlimit controlan la mayoría de los límites de asignación de recursos por proceso. RLIMIT_NOFILE controla el número máximo de descriptores de archivo. Necesitará los permisos apropiados para llamarlo.


Linux
  1. ¿Comprobar el proceso si se está ejecutando lo mismo?

  2. ¿Llamar al sistema operativo para abrir la URL?

  3. No se puede cambiar el número máximo de archivos abiertos por proceso con sysctl

  4. Process Monitor equivalente para Linux?

  5. puerto abierto 8080 para escuchar

5 juegos de rompecabezas de código abierto para Linux

Cómo aumentar el número de límites de archivos abiertos en Linux

Comando ls en Linux para listar archivos

Comandos para la Gestión de Procesos en Linux

¿Cómo configurar archivos abiertos nginx max?

Cómo evitar que un proceso escriba archivos