Alta utilização de memória virtual do Cherokee mesmo depois de desativar o cache de E / S

1

Tenho o Ubuntu 10.04LTS de 64 bits em execução em um contêiner openvz e o Cherokee 1.0.8 compilado a partir do código-fonte. O uso de memória virtual de cherokee-worker é de cerca de 430 MB, mesmo depois de desativar o cache de E / S do Advanced - > Cache de E / S - > NÃO ativado.

Este problema é específico para o openvz? Porque muitas pessoas relataram ter reduzido com sucesso o uso de memória virtual desativando o cache do io.

saída htop: link (novatos não autorizados a postar imagem.)

obrigado antecipadamente.

nidheeshdas

    
por nidheeshdas 09.11.2010 / 07:13

2 respostas

1

Pelo menos parte disso será a alocação de pilha (RLIMIT_STACK), que é alocada para cada thread do cherokee ... e o cherokee faz muitos threads. Esta memória não está realmente sendo usada e ainda está disponível, então normalmente isso não importa, mas com o OpenVZ ela é contada para sua cota e você precisa mantê-la no OpenVZ VPSes. Eu não consigo nem mesmo iniciar o cherokee em sua configuração padrão no meu VPS de 256MB porque o OpenVZ acha que está usando mais do que os 210MB disponíveis, apenas começando.

Você pode reduzir o número de threads que cherokee está usando em Advanced- > Resources na configuração web (a configuração é "server! thread_number = XX" se você estiver editando cherokee.conf diretamente) ou pode basta alterar o tamanho da pilha antes de executar o cherokee com 'ulimit -s SIZE_IN_KB' (você pode ver o padrão antes de alterá-lo com 'ulimit -s' - meu padrão do VPS é 10240, 10MB por thread ). Tenha em mente que você precisa definir o ulimit antes de executar o cherokee, e não é todo o sistema. Então, faça isso em um shell antes de iniciar o cherokee no mesmo shell ou edite seu script de inicialização para executar 'ulimit -s XX' antes de iniciar o cherokee.

Um excelente recurso para fazer com que as coisas funcionem em VPSs (especialmente low-end) é LowEndBox. Eles têm uma postagem no blog sobre como " Reduzir o limite de pilha para aplicativos de vários segmentos ".

    
por 05.02.2011 / 00:08
0

A memória está sendo usada pelos processos php5-fpm não pelo cherokee. Você está executando um aplicativo php de gordura?

    
por 23.11.2010 / 00:00