Usando ulimit
Debian 6
O comando ulimit ajusta os limites do usuário, como a quantidade máxima de memória que um programa pode usar, o número máximo de arquivos que podem ser aberto entre outros parâmetros. Ele está ligado ao seu shell e para isso consulte a documentação do shell e procure por limit ou ulimit.
Vamos ajustar o Debian 6 para iniciar um processo apache com um limite de 1GB RAM e que pode abrir até 1000 arquivos.
O comando ulimit ficaria assim:
ulimit -l 1048576 -s 1000
Note que o valor do parâmetro -l está em Kb. Agora temos que configurar o apache, então vá no script de inicialização do apache que geralmente fica em edite-o.
vi /etc/init.d/apache
Note que o shell utilizado nos start-stop scripts no Debian 6 é o sh e que ele é link simbólico para o dash, e nesse caso o dash apresenta uma mensagem de erro se colocarmos a linha de comando para acerto dos limites como mostrada acima. Colocamos então duas linhas, uma com cada parâmetro.
ulimit -l 1048576 ulimit -s 1000
Podemos inserir as linhas acima antes do comando set -e.
Pronto, agora usuário apache tem 1GB RAM e até 1000 arquivos para seu uso, isso ajuda a evitar concorrência aos recursos o que pode prejudicar o bom desempenho do sistema.
Fontes
Ajuda do dash ( man dash )
Ajuda do ulimit ( man ulimit )
Nelson Takashi Yunaka (yunakaof) - yunakaof@usp.br
Debian Policy Manual - http://www.debian.org/doc/debian-policy/index.html#contents