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
 

Responder a