Alarme de limite de memória razoável para a máquina de 2 GB executando o RHEL5 OS

1

Temos vários servidores com a configuração abaixo:

Processador único de processador dual core de 2 GHz com cache de 1 MB. A troca está ativada com limite de 1 GB Memória - 2GB OS - RHEL5,3 64bit

Um dos nossos alarmes está configurado para nos despertar quando a memória Livre ficar abaixo de 256MB por 2 horas (continuamente) e acima. Estamos constantemente encontrando problemas de memória em nossas máquinas. Com apenas um serviço java sendo executado em um limite de 1 GB (usando o sinalizador Xmx), o restante da memória é para o sistema operacional rodar. Observamos que muita memória está sendo alocada para buffers / cache (até 1GB). Neste momento, tenho algumas perguntas que estão sendo difíceis para eu responder corretamente.

  1. Por mais que eu tenha pesquisado, parece não ser possível controlar quanto o sistema operacional pode alocar para buffers / cache. Existe alguma política no sistema operacional que vai ditar isso para controlar isso?
  2. Qual seria um limite alarmante se o processo java estivesse limitado à CPU?
  3. Qual seria um limite alarmante se o processo java fosse vinculado a E / S?
  4. Se simplesmente executarmos um único serviço java (com Xmx muito menor que RAM disponível), deveríamos nos preocupar com a memória livre? Não vai SwapUsedPercent é o melhor parâmetro para verificar se estamos a bater problemas de memória?

Por favor, compartilhe seus pensamentos.

    
por Ram 30.08.2011 / 08:50

1 resposta

3

As much as I have searched, it seems quite not possible to control how much the OS can allocate for buffers/cache.

A menos que você tenha feito muitos testes, eu sugiro que você nem tente. Os desenvolvedores do kernel fizeram muito trabalho tentando fazer as coisas serem tão eficientes quanto possível no caso geral. Até que você saiba que isso é um problema, é melhor deixá-lo permitir e deixá-lo em cache, tanto quanto possível, é quase sempre uma coisa boa.

What would be an alarming limit if the java process is CPU bound?

Depende do seu aplicativo, mas eu ficaria preocupado se você usar mais de 60% de sua CPU.

What would be an alarming limit if the java process is IO bound?

Depende do seu aplicativo, mas geralmente deseja assistir ao valor% iowait.

should we even worry about free memory?

No Linux, procurar apenas por 'memória livre' quase nunca é útil. Eu ficaria mais preocupado se os buffers e o cache estivessem próximos de 0. Eu me preocuparia se você começasse a usar grandes quantidades de swap, ou se você trocasse com frequência.

    
por 30.08.2011 / 09:05