Erreur de mémoire insuffisante Apache
-
11-07-2019 - |
Question
mod_python (?) consomme beaucoup de RAM (environ 9 Mo par processus de travail). Si j’ouvre plusieurs pages TRAC à la fois, beaucoup d’entre elles auront une erreur faute de RAM (limite virtuelle de 64 Mo). si je limite le nombre de threads de travail à 3, je peux bien me débrouiller. Le problème, c’est que si personne n’accède à TRAC, j’ai BEAUCOUP de bélier inutilisé.
Y at-il un moyen que je puisse soit
- Limitez le nombre de processus de travail pouvant utiliser python?
- Limiter le nombre de processus de travail dans mon chemin de trace?
- Faites en sorte qu'apache génère autant de processus de travail ou de processus qu'il le souhaite, mais uniquement lorsque la quantité X ou le bélier est libre (ou lorsque la quantité X ou inférieure est utilisée par apache)
- Autre chose?
La solution
Vous pouvez configurer un deuxième apache mod_python
avec un nombre minimal de threads de travail à exécuter uniquement sur l'interface locale et avec un port différent, à savoir http://127.0.0.1:9000/ . Ensuite, pour votre instance publique Apache sur le port 80, désactivez mod_python et accordez-le pour une utilisation optimale de la RAM. Proxy toutes les demandes de traçage et autres applications Python à l'instance locale mod_python
.
Si le public qui fait face à Apache est uniquement destiné à diffuser du contenu statique, envisagez de le remplacer par un élément léger, tel que nginx ou lighttpd .