Linux: a memória é livre, mas a troca é usada. Por quê?

11

Aqui estão os diagramas de Munin.

Uso da memória: link

Swap in / out: link

Por que o Linux decide aumentar o cache e usar swap quando o tamanho da RAM é muito maior que a memória usada pelos programas?

    
por Pavel Koryagin 02.09.2011 / 09:25

2 respostas

17

Seu servidor provavelmente tem alguns processos inativos e / ou inativos com muitas páginas inativas. O kernel do Linux prefere trocar partes inativas de programas para trocar, já que provavelmente a memória é melhor usada como cache.

Se você deseja mudar este comportamento, jogue com vm.swappiness sysctl ajustável, mas esteja avisado, enganando os desenvolvedores de kernel / mantenedores de distro não é tão fácil. : -)

Você está tendo problemas de desempenho em seu servidor durante esse pico de troca ou perguntou por curiosidade?

    
por 02.09.2011 / 09:29
1

Você deve tentar jogar com o parâmetro swappiness . Como você pode ver seu sistema começou a trocar quando tentou aumentar o tamanho do cache de arquivos, isso é normal se as swappines não forem 0.

    
por 02.09.2011 / 09:28

Tags