O uso da CPU deve chegar a 100% quando a troca ocorrer no Linux

2

Eu estava executando um sistema de demonstração no Linux com o seguinte kernel:

2.6.32-400.1.1.el5uek #1 SMP Mon Jun 25 20:25:08 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux

E assim que a troca acontece, o uso da CPU no sistema sobe para quase 100% ocupado, entre os quais cerca de 90% é o uso da CPU pelo sistema. Disseram-me que é esperado porque o daemon de página do Linux entra em ação e começa a gravar o fragmento de memória para trocar apenas quando ficar sem memória (ou, memória livre é menor que 0.5G), o que resulta em muito uso da CPU. "swappiness" é 60 no sistema.

É o comportamento esperado que o uso da CPU chega a 100% quando a troca acontece no Linux?

A razão pela qual eu tinha a pergunta acima é que o comportamento acima mudou quando eu migrei o demo para outro sistema com o seguinte kernel Linux:

2.6.39-400.128.14.el5uek #1 SMP Sat May 10 00:06:52 PDT 2014 x86_64 x86_64 x86_64 GNU/Linux

A única diferença do parâmetro vm no sistema migrado que notei é o parâmetro min_free_kbytes, alterado para 524288 no sistema migrado vs 51200 no sistema pré-migrado.

No sistema migrado, quando a memória livre atinge menos de 1.5G, o swap acontece, então o uso da CPU sobe um pouco, algo entre 30% e 40%, e o desempenho do aplicativo fica instável apenas por um curto período e, em seguida, tudo volta ao normal como antes de swap acontece.

O que faz o sistema migrado se comportar de maneira tão diferente, que o uso da CPU não chegará a 100% ocupado quando a troca acontece?

É um sistema de demonstração muito importante e a explicação das duas perguntas acima será muito útil. Qualquer ideia será muito apreciada.

    
por Christine Qu 24.07.2014 / 06:08

0 respostas