Dispatch.fcgi : certains process ne sont pas quittés correct

Bonjour à tous,

J’ai un problème avec mon site Rails en hébergement partagé. Récemment,
j’ai essayé de m’y connecter via SSH et j’ai reçu la réponse suivante :

-bash: fork: Resource temporarily unavailable
-bash-3.00$

de la part du serveur, m’empêchant donc d’établir la connexion SSH
demandée.

Suite à cela, j’ai contacté mon hébergeur qui a analysé les processus en
cours (via la fonction ps du shell) et qui a remarqué que de nombreux
processus /usr/bin/ruby dispatch.fcgi étaient encore ouverts, alors
qu’ils étaient vraisemblablement ‘périmés’. Et comme ces process ne se
terminaient jamais, le nombre maximal de process a été atteint et le
process pour SSH ne pouvait plus être lancé.

Mon hébergeur me demande donc de “vérifier et d’optimiser mes scripts”
afin de m’assurer que tous les process dispatch.fcgi soient bien
cloturés à l’avenir. Seulement, je n’ai aucune idée de la cause d’un tel
problème (je n’y connais rien à FastCGI, ni de son interaction avec
Rails) donc je ne sais même pas quelles erreurs chercher dans mon code.

Ma question est donc : que dois-je vérifier dans mon code, quelles
erreurs dois-je traquer pour m’assurer que tous mes process
dispatch.fcgi soient bien fermés?

Merci d’avance pour votre aide, qui me sera précieuse

Dans un premier temps je ne chercherai pas trop l’erreur dans le code.
Une solution genre god ou monit pour vérifier les process et les
relancer

Pierre Guernet a écrit :