Falhas de página com 128 GB de RAM

3

Estou executando um aplicativo pesado de CPU e memória para reconstrução 3D (www.3dsurvey.si, se relevante) em um servidor AMD Opteron (4CPUs, 12cores cada, 128GB de RAM). Percebi que a CPU não é utilizada como esperado devido a (o que eu acredito) falhas de página. Recebemos 100k + falhas de página por segundo durante o processamento, enquanto a memória é usada apenas em torno de 50%. A utilização média do processador que recebemos é de cerca de 10% a 20%. Eu também tentei desativar o arquivo de paginação (que não é consultado) sem melhoria e mesma taxa de falhas de página. O software normalmente usa todos os processadores no PC normal.

Para tornar a questão aplicável a outras pessoas

  • Por que temos falhas de página com muita RAM ainda disponível?
  • Como diminuir o número de falhas de página?
por mitjap 12.08.2016 / 15:44

1 resposta

7

As falhas de página podem ser divididas em falhas principais e menores

Grandes falhas na página acontecem quando o seu programa, ou seus dados, são trocados para o disco e agora precisam ser trocados do disco . Essas falhas são marcadas como "principais" porque a troca de / para / do disco é muito lenta em comparação à velocidade da CPU. Como você tem bastante RAM livre (cerca de 50%), e desabilitar o swaping por completo não trouxe nenhum desempenho de volta, acho que seu problema não está relacionado a grandes falhas.

Pequenas falhas de página acontecem quando a CPU está tentando acessar um endereço de memória virtual que não está em seu pequeno e rápido cache de TLB e, como resultado, ele precisa procurar uma tabela de mapeamento maior (e mais lenta) armazenada no endereço DRAM conhecido . Uma grande quantidade de falhas de página menores é esperada quando executar um programa esporadicamente e / ou ao acessar uma grande quantidade de memória. Esse problema pode ser exacerbado por uma topologia NUMA de múltiplos soquetes (a mesma usada pelo seu Opteron) quando usada com programas não compatíveis com NUMA.

Se o seu programa não estiver ciente do NUMA, falhas de página menores podem ser a origem de seus problemas de desempenho. Para ter uma idéia aproximada, se este for o caso, tente executar o programa em uma máquina de soquete único (ou desabilite todos os soquetes, exceto um, no seu servidor) e verifique se o uso da CPU está acima do esperado.

De qualquer forma, somente a produtora de software que produz o software (ou alguém muito experiente com o seu programa específico) pode responder completamente à sua pergunta.

    
por 12.08.2016 / 16:06