Uma solução seria usar algo como o Linux Containers (LXC) para fornecer ambientes isolados para cada projeto. Essa solução permite atribuir limites rígidos a coisas como memória e utilização da CPU, além de definir firewalls de rede e assim por diante para cada projeto. Isso também significa que cada projeto recebe seu próprio namespace de sistema de arquivos. Mais informações aqui:
Projetos semelhantes incluem:
- Linux Vserver: link