¿Es posible de algún modo cambiar el límite de la cantidad de subprocesos que puede crear un proceso? Actualmente, en mi sistema Linux puedo crear alrededor de 380 subprocesos, pero quiero aumentar eso para decirlo mientras haya memoria disponible.Cambiar el límite del número máximo de subprocesos por una aplicación
Respuesta
vistazo a esto:
Maximum number of threads per process in Linux?
y echar un vistazo a esto, ya que podría pertenecer a su pregunta:
' cat?/proc/sys/kernel/threads-max' muestra '16384'. Pero no puedo crear más de 380 pthreads. Incluso traté de poner una función en blanco como cuerpo de los hilos. – Sukanto
¿Qué error obtienes? –
después de 380 hilos Obtengo 'EAGAIN' como valor de retorno de' pthread_create() ', que según la página man' pthread_create() 'es" El sistema carecía de los recursos necesarios para crear otro hilo, o el límite impuesto por el sistema en el se excederá el número total de subprocesos en un proceso {PTHREAD_THREADS_MAX} ". – Sukanto
Su problema es que no ha llamado pthread_detach en los hilos en cuestión. Esto le dice a pthread que los recursos asociados con cada subproceso se liberarán cuando finalice el subproceso. Debe invocar pthread_join o pthread_release en todos los subprocesos para liberar recursos de subprocesos. Eso significa que también debe llamar a pthread_detach en sus controladores de cancelación pthread_join o a la fuga.
reducir el tamaño de la pila del usuario 'ulimit -s 1024
';
default: 8MB
reduced: 1MB
para aumentar el número de subprocesos.
ajustar el tamaño de la pila: pthread_attr_setstacksize(1024)
cat /proc/sys/kernel/threads-max
puede funcionar en Linux, pero no otros sistemas UNIX. Pensé que el camino correcto es
Maximum number of threads per process - sysconf(_SC_THREAD_THREADS_MAX) failing
que funciona en algunos sistemas UNIX (como HP-UX), pero no en Solaris o Linux ...
- 1. ¿Número máximo de subprocesos en una aplicación .NET?
- 2. Número de hilo máximo para una aplicación?
- 3. Límite máximo de hilo?
- 4. Cómo limitar el número máximo de subprocesos paralelos en Perl
- 5. ¿Cuál es el máximo número de métodos por clase .NET
- 6. Número máximo de usuarios para una aplicación web
- 7. ¿Cuál es el límite máximo de memoria por aplicación para Android 2.2?
- 8. Número de subprocesos utilizados por Intel TBB
- 9. OpenSSL configure el número máximo de conexiones
- 10. ¿Cuál es el número de revisión máximo soportado por SVN?
- 11. ¿Número de subprocesos creados por GCD?
- 12. (nodo) ¿Límite máximo de archivos afectados?
- 13. ¿Cómo puedo establecer el número máximo de procesos o subprocesos de MySQL?
- 14. ¿Por qué ScheduledThreadPoolExecutor solo acepta un número fijo de subprocesos?
- 15. Parámetros de función número máximo
- 16. Límite máximo de memoria de aplicaciones en el iPad?
- 17. ¿Número máximo de inodos en un directorio?
- 18. Cómo limitar el número de subprocesos/subprocesos utilizados en una función en bash
- 19. Número máximo de Err.Raise?
- 20. Límite práctico sobre el número de subprocesos en Linux en un marco cooperativo
- 21. ¿Cómo aumentar el número de subprocesos en el grupo de subprocesos de tomcat?
- 22. Cambiar el nombre de subprocesos en Java
- 23. SQL DELETE - Número máximo de filas
- 24. ¿Número máximo de NSURLConnections concurrentes en el mismo host?
- 25. javascript object límite de tamaño máximo
- 26. Servidores de aplicaciones Límite máximo de memoria
- 27. Número máximo de procesos en Linux
- 28. Número máximo de Ruby
- 29. Incrementando el límite máximo de conexiones de Google Chrome por servidor a más de 6
- 30. Límite de número de Python
Interesante ... ¿ha considerado algunas de las implicaciones de tal ¿diseño de sistemas? El punto único de falla (SPOF) viene a la mente. – jldupont
No soy un experto, pero apostaría que tener más de 380 hilos saturará tu procesador con los cambios de contexto. La conmutación de contexto para un subproceso es menor que para un proceso separado, pero aún debe guardar el contador del programa y el archivo de registro, y quizás algunas otras cosas que me estoy olvidando. ¿Cuántos hilos crees que necesitas? Sugeriría crear un perfil de su aplicación para determinar la sobrecarga del hilo para 10 hilos frente a 100 hilos y luego tratar de extrapolar a su número objetivo de hilos. Puede descubrir que no vale la pena el esfuerzo. O tal vez estoy equivocado ... –
No lo usaré prácticamente en ningún lado ... ¿pero lo necesito para algunos experimentos? – Sukanto