Esse comportamento é comum se você tiver um vazamento de memória em um plug-in. Isso resulta em privação de memória e os encadeamentos do servidor começam a entrar e sair da memória. Isso também pode acontecer se você permitir muitos encadeamentos, pois o Apache gerará novos encadeamentos conforme a carga aumenta. Há várias configurações que podem ser usadas para solucionar o problema.
- Configurar
MaxRequestWorkers
para um nível menor limitará o número de segmentos. Deve ser pequeno o suficiente para que todos os threads de trabalho se encaixem na memória com espaço de sobra. - A definição de
MaxConnectionsPerChild
para um nível menor deve limitar o impacto de um vazamento de memória. Se você suspeitar de um vazamento de memória, tente um valor de 100 ou 200 por um tempo. - Você pode definir um limite de memória de disco rígido em
limits.conf
que fará com que os encadeamentos morram se muita memória vazar. - Ajustar
MaxSpareServers
pode ajudar. Se estiver muito baixo, você pode estar frequentemente gerando novos servidores. Se for muito alto, você poderá aumentar a paginação de memória.
É possível que algum outro processo esteja consumindo a memória e isso esteja causando o apache na página. Se o servidor não for um servidor da Web dedicado, qualquer outro processo ou combinação de processos poderá causar esse problema.
Máquinas virtuais podem ser paginadas pelo sistema host se precisar de memória. O comportamento será praticamente o mesmo que se a máquina virtual estivesse com pouca memória.
A execução de atsar
geralmente ajuda a identificar as limitações de recursos. Examine a saída capturada com sar
, selecionando o período de tempo quando você tiver problemas.