errore di memoria insufficiente di apache
-
11-07-2019 - |
Domanda
mod_python (?) sta mangiando un sacco di RAM (circa 9 MB per processo di lavoro). Se apro più pagine TRAC contemporaneamente, molte di esse avranno un errore a causa della mancanza di RAM (limite virtuale 64mb). se limito i thread di lavoro a 3 posso cavarmela bene. Il problema è che se nessuno accede a TRAC ho MOLTO RAM inutilizzata.
C'è un modo in cui posso
- Limitare la quantità di processo di lavoro che può usare Python?
- Limitare la quantità di processo di lavoro nel mio percorso trac?
- Avere apache spawn il maggior numero di processi o thread di lavoro che desidera ma generarlo solo quando quantità X o ram è libera (o quando quantità X o inferiore è in uso da apache)
- Qualcos'altro?
Soluzione
È possibile configurare un secondo apache mod_python
con thread di lavoro minimi per l'esecuzione solo sull'interfaccia locale e con una porta diversa, ovvero http://127.0.0.1:9000/ . Quindi, per la tua istanza pubblica di apache sulla porta 80, disabilita mod_python e sintonizza per un utilizzo ottimale della RAM. Proxy di tutte le richieste di trac e altre app python all'istanza mod_python
locale.
Se l'apache del pubblico è lasciato solo per servire contenuto statico, allora considera di sostituirlo con qualcosa di leggero come nginx o lighttpd .