Veja a entrada kmemsize na base de conhecimento do Parallels .
Versão resumida:
Existe alguma diretriz oficial sobre o que o kmemsize barreira e limite deve ser definido para um recipiente em Virtuozzo / OpenVZ destina-se a ser usado como um servidor da Web? Nós encontramos posts em blogs e forums que dizem que kmemsize deve ser de pelo menos 10% das vmguarpages (depois são convertidos para as mesmas unidades). Infelizmente, nada que encontramos citou um referência autorizada (ou mesmo uma razão) para esta afirmação de 10%. Alguma ideia de onde vem essa ideia de 10%?
Versão longa:
Um cliente meu tem um site em um VPS hospedado 1and1 rodando o CentOS 5,9 64 bits. O site é extenso, mas de particular importância é um site pesquisa que normalmente é feita por grupos de pessoas ao mesmo tempo do mesmo local (imagine uma sala de aula). Às vezes (mas nem todos o tempo) quando um grupo inicia o processo de pesquisa aproximadamente no mesmo No momento, vemos um enorme pico no valor "detido" do kmemsize em nosso VPS. No primeiro isso estava nos levando a exceder o limite de kmemsize, aumentar nossa kmemsize failcnt e envia erros para os navegadores de nossos usuários. Por ajustando o MaxClients do Apache eu posso nos impedir de exceder o limite de kmemsize. No entanto, se atingirmos o pico logo abaixo do limite, solicitações ficam enfileiradas e o site fica lento para um rastreamento glacial, páginas literalmente levar alguns minutos para carregar, é indiscutivelmente melhor do que bater. Parece bastante claro que precisamos de uma barreira / limite de kmemsize maior.
Esse é o pano de fundo. Minha verdadeira questão é se nossa atual
limite é razoável. Devemos ter 1G de RAM "garantido"
(barreira vmguarpages está definida para 262144), com possíveis explosões até 4G.
Mas notei que, mesmo quando estamos perto ou no limite do kmemsize,
free
ainda relata que estamos usando menos de 600.000k de memória.
/proc/user_beancounters
informa nossa barreira kmemsize em 31457280 e
o limite em 34603008. Conforme mencionado na versão resumida acima, nós
sites encontrados alegando que o kmemsize deve ser definido para pelo menos 10%
da memória "garantida" definida por vmguarpages. Fazendo as contas eu sou
mostrando que estamos em
barreira kmempor = 31457280 B = 30 MB = cerca de 3% da barreira de vmguar de 1024 MB
Isso parece consistente com a idéia de que (de acordo com free
) nós nunca
parecem usar muito mais do que a metade da nossa memória total "garantia". Assim,
queremos apenas chamar 1and1 e dizer "uau, esse serviço que você está oferecendo
não atende às recomendações mínimas para VPS's e, como tal, é
praticamente impossível para nós realmente usar a quantidade de memória
que você está nos garantindo ". E, se eles não ouvirem a razão
e corrija, mude para outro provedor. No entanto, tanto para fazer o meu ponto
com o provedor e para justificar a mudança (se necessário) para o
altos escalões na organização do meu cliente, eu adoraria poder citar um
fonte mais autorizada para este "kmemsize deve ser pelo menos 10% do
memória garantida "idéia.