Re: problemas con el fork.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hola
Puede ser un problema de file descriptors, si tienes en cuenta que en la
situación mas extrema permitirías a un usuario ejecutar 8190 procesos
deberías permitir que manejara al menos el doble de descriptores ( nunca
llegarás a 8190 procesos ) pero si llegarás a poder agotar en algunas
circunstancias 16000 descriptores, esto debes hacerlo desde syctl:
sysctl -w fs.file-max=16384 ( por ejemplo, puedes llegar a ampliar el valor
pero debes tener en cuenta que la máquina debe ser capaz de soportar la carga
generada, disponer de memoria suficiente y .... )
o añadiendo la línea:
fs/file-max=16384
a /etc/sysctl.conf
Para permitir que un usuario haga uso de estas ampliaciones de límites sin
tener que complicarte con ulimit puede habilitar dentro de PAM el uso del
módulo de limits ( creo que por defeto debian ya lo hace )
session required pam_limits.so
definiéndose los límites que se aplicaran en el archivo
/etc/security/limits.conf
Espero que esto te resulte de utlilidad
un saludo
Victor
PD: no se como será en apache 2.x pero en apache 1.3.x el valor máximo para
MaxClients esta "hardcoded" en una de las cabeceras y en debian creo recordar
que es como de 250
On Tuesday 08 April 2003 13:47, lrdba@renr.es wrote:
> Tengo instalado linux Debian 2.4.13 con Apache 2.0.43 y Resin 2.0.2 y
> IBMJava2-13.
> En ocasiones, cuando conecto con el servidor por ssh e intento ejecutar
> algún comando obtengo el siguiente error:
> sh: fork: Recurso no disponible temporalmente
> Los scripts que actualizan los contenidos en el servidor fallan. Fallan
> también los directorios de la máquina que tengo montados por NFS en otros
> equipos.
> Si compruebo los límites del sistema obtengo:
>
> servweb: # ulimit -a
> core file size (blocks) 0
> data seg size (kbytes) unlimited
> file size (blocks) unlimited
> max locked memory (kbytes) unlimited
> max memory size (kbytes) unlimited
> open files 1024
> pipe size (512 bytes) 8
> stack size (kbytes) 8192
> cpu time (seconds) unlimited
> max user processes 256
> virtual memory (kbytes) unlimited
>
> El número máximo de procesos por usuario es 256.
> Si programo en el cron del sistema un script que lance este mismo comando
> obtengo
>
> core file size (blocks) 0
> data seg size (kbytes) unlimited
> file size (blocks) unlimited
> max locked memory (kbytes) unlimited
> max memory size (kbytes) unlimited
> open files 1024
> pipe size (512 bytes) 8
> stack size (kbytes) 8192
> cpu time (seconds) unlimited
> max user processes 8190
> virtual memory (kbytes) unlimited
>
> Donde el número de procesos por usuario es 8190.
> El único sitio donde se me ocurre configurar el número de procesos por
> usuario es en el .profile del home del usuario en cuestión.
> El problema es que el usuario que lanza apache y resin es un usuario
> especial que no tiene bash en el sistema.
> Sobre la configuración del apache y del resin les detallo a continuación
> los parámetros de la configuración que considero pueden estar relacionados
> con el problema:
>
> Parámetros de configuración de apache:
> #
> # Limit on total number of servers running, i.e., limit on the number
> # of clients who can simultaneously connect --- if this limit is ever
> # reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW.
> # It is intended mainly as a brake to keep a runaway server from taking
> # the system with it as it spirals down...
> #
> MaxClients 1000
>
> #
> # MaxRequestsPerChild: the number of requests each child process is
> # allowed to process before the child dies. The child will exit so
> # as to avoid problems after prolonged use when Apache (and maybe the
> # libraries it uses) leak memory or other resources. On most systems, this
> # isn't really needed, but a few (such as Solaris) do have notable leaks
> # in the libraries. For these platforms, set to something like 10000
> # or so; a setting of 0 means unlimited.
> #
> # NOTE: This value does not include keepalive requests after the initial
> # request per connection. For example, if a child process handles
> # an initial request and 10 subsequent "keptalive" requests, it
> # would only count as 1 request towards this limit.
> #
> MaxRequestsPerChild 0
>
> Apache tiene configurados cuatro hosts virtuales y resin tiene cuatro
> contextos independientes cada uno de ellos tiene los mismos parámetros de
> configuración.
>
> Parámetros de configuración de resin.
> <!-- You'll need to tweak these to maximize performance -->
> <thread-min>100</thread-min>
> <thread-max>1100</thread-max>
> <!--
> - How many threads to wait for keepalives. Should be at least the
> - number of Apache processes to get good performance.
> -->
> <thread-keepalive>1000</thread-keepalive>
>
> Agradecería cualquier sugerencia sobre como solucionar este problema.
> Saludos
- --
- --
Abril
Uno de los peores meses para andar metiendo al mundo en guerras absurdas
El resto de meses del mismo tipo son: Enero, Febrero, Marzo, Mayo, Junio,
Julio, Agosto, Septiembre, Octubre, Noviembre y Diciembre.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQE+ks+MEzqHF8R72ekRAt07AKCcWHMxkkpNYMZaOqMgh+T/55Py0gCfXigX
2vAyt7dsDnUU4coWsp1A3SA=
=242c
-----END PGP SIGNATURE-----
Reply to: