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.
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.
É um sistema de demonstração muito importante e a explicação das duas perguntas acima será muito útil. Qualquer ideia será muito apreciada.
Tags swap cpu memory linux swappiness