mod_python(?) is eating lots of ram (about 9mb per worker process). Basically open several TRAC pages at the same time most of them may have a mistake because of no ram (64mb virtual limit). basically limit the staff member threads to three i'm able to manage okay. Issue is if we're not being able to access TRAC i've got a Large amount of ram being unused.

It is possible to way i'm able to either

  1. Limit the quantity of worker procedure that may use python?
  2. Limit the quantity of worker process during my trac path?
  3. Have apache spawn as numerous worker process or threads it wants but get it only spawn when X amount or ram is free of charge (or when X amount or below is being used by apache)
  4. Another thing ?

You can configure another mod_python apache with minimal worker threads to operate only around the local interface with another port, i.e. http://127.0.0.1:9000/. Then for the public apache instance on port 80, disable mod_python and tune for optimal ram utilization. Proxy all trac along with other python application demands towards the local mod_python instance.

When the public facing apache remains simply to serve static content, then consider changing it with something lightweight for example nginx or lighttpd.