Por que alguns servidores possuem tantos processos em execução?

1

Eu tenho dois servidores VPS, mas eles têm quantidades drasticamente diferentes de uso de memória e processos em execução. Eu ainda sou novo em rodar servidores linux, então estou tendo problemas para descobrir o que está acontecendo e o que posso fazer para consertá-lo.

Ambos são instalações do Debian 5 32bit.

Em um servidor com 128 MB de RAM e um único núcleo de CPU eu tenho um servidor completo rodando em apenas 84MB de RAM. O outro servidor tem 512MB (CPU quad core) e tem nada em execução, mas processos centrais , mas ainda usa 94MB de RAM.

Alguém tem um tipo diferente de tecnologia de virtualização que requer mais processos centrais do Linux ou o quê?

    
por Xeoncross 05.01.2011 / 00:12

1 resposta

2

Você está vendo um comportamento normal. Não confunda memória usada com memória indisponível. Muitas estruturas mantidas na memória podem ser rapidamente reduzidas quando a memória é necessária. Espere que seu uso aumente enquanto o sistema estiver ativo e muita memória disponível.

Espaço usado para contagens de cache de disco conforme usado. Depois de ler ou gravar um arquivo, os dados tendem a ser armazenados em cache até que esse espaço seja necessário. Os arquivos de log tendem a ser apenas de gravação, mas são armazenados em cache à medida que são gerados. Algumas coisas que são perceptíveis no meu gráfico de uso:

  • Quanto mais tempo um sistema está ativo, mais memória é dedicada ao cache de arquivos e aos buffers. Isso é limitado pela quantidade de memória disponível. À medida que os requisitos de memória aumentam, a memória dedicada ao cache de arquivos e aos buffers pode diminuir conforme necessário.
  • A memória total usada estabiliza algum Mb menor que 100%. Esta é a memória reservada para executar subprocessos. Se esse espaço ficar pequeno demais, espere um desempenho lento e travamentos.
  • A memória total usada não é tão importante quanto a usada.

Se você tiver algum sistema de arquivos tmpfs, ele utilizará a memória disponível. À medida que o uso da memória aumenta, alguns desses dados podem ser paginados no arquivo de troca.

Os processos do servidor da Web geralmente são executados com um processo mestre para aceitar conexões de entrada e muitos processos filhos para manipular as solicitações. Os processos filhos geralmente possuem o mesmo PPID (id do processo pai). Um dos seus servidores parece estar executando nginx e php-cgi para lidar com solicitações da web, usando um número significativo de processos. O comando pstree , se disponível, é útil para ver este tipo de configuração.

    
por 05.01.2011 / 06:02