Forçando um usuário a usar o espaço de troca após certo uso de memória (usando limits.conf?)

2

Eu tenho um aplicativo de back-end que está sendo usado internamente por desenvolvedores hospedados em nosso servidor, no entanto, o aplicativo infelizmente requer o uso de Passenger e Ruby, ambos com muita fome de memória.

Eu tenho um arquivo de swap SSD que deve permitir um desempenho razoável para o nosso uso, e eu gostaria de forçar este aplicativo a usar o espaço de swap e deixar a RAM aberta para nossos aplicativos frontais.

Portanto, a questão é, existe uma maneira de forçar um processo / usuário (este processo é executado sob um usuário específico) para usar o espaço de swap, tanto quanto possível? Eu acho que o limits.conf pode ser capaz, mas eu não quero que ele dê erros Out of Memory, apenas mude para swapfile.

    
por Ecksters 08.04.2015 / 15:15

1 resposta

4

Você deve dar uma olhada nos cgroups (Grupos de Controle). Existem algumas informações sobre cgroups ad-hoc que também dizem

Note that the memory limit applies to RAM use only -- once tasks hit this limit, they will begin to swap.

que parece ser exatamente o que você quer.

Se o seu aplicativo de desenvolvedor de back-end estiver causando problemas em seus aplicativos de fachada, provavelmente será uma boa ideia mover o material de back-end para seu próprio servidor.

    
por 08.04.2015 / 15:33