jvm dicas / recursos de ajuste de desempenho?

1

Minha experiência com o jvm tem sido mantida principalmente por um contêiner de tomcat para vários aplicativos. Eu sempre não tenho certeza da proporção que -Xms-Xmx -Xmn -XX: PermSize -XX: MaxPermSize com eu inicializar minha instância do tomcat.

Sei que isso vai variar dependendo do número e do tamanho dos aplicativos que estou executando. Eu não estou olhando para ter minha mão, mas alguém tem dicas ou recursos sobre como testar suas necessidades de carga e o que é uma boa proporção de configurações?

Obrigado antecipadamente.

update:

Neste caso, a caixa é um vps de slicehost:

64bit Linux 1024 Ram e 1.6 jdk Sun (embora eu possa mudar isso)

O Tomcat fica atrás do Apache via mod_jk. Eu também executo um mysql e um servidor de e-mail (ambos de baixo uso).

No tomcat, executo apenas um aplicativo jruby e dois aplicativos railo (cfml) e devo adicionar mais tarde.

Eu estou procurando mais por dicas / ponteiros do que uma especificação de configuração exata. como quase tudo está sujeito a alterações.

    
por ethyreal 31.07.2009 / 19:38

1 resposta

4

Você precisa fornecer muito mais informações:

1) Quanta RAM está disponível na caixa? Tomcat é a única coisa que funciona?
2) É uma VM de 32 ou 64 bits? 3) Quantas CPUs / núcleos estão nesta caixa?
4) Qual versão principal do jdk você está executando? 1,4, 5 ou 6?

As respostas a essas perguntas permitirão que você defina limites para o heap.

Depois que você passar por isso, perguntas sobre o aplicativo podem precisar ser respondidas - quantos objetos são de longa duração (ou seja, cache) e quantos são de curta duração (menos de 5 segundos antes de saírem do escopo).

Estas perguntas nos dizem que% do heap pode ser usado para o Éden, e qual porcentagem precisa ser usada para a geração antiga.

Atualizar

Bem, se o seu Tomcat for de longa duração, adicionar o sinalizador '-server' provavelmente será benéfico. Dadas as suas restrições, a menos que você conheça seus aplicativos por dentro e por fora, é melhor deixar a ergonomia para determinar as melhores taxas e coletores. O ajuste de Java é muito mais uma arte do que uma ciência. Comece aqui: link , procure ferramentas como o GCHisto e o VisualGC para ajudá-lo a visualizar o que está acontecendo dentro da VM.

    
por 31.07.2009 / 21:34