Parece-me bastante contraproducente armazenar em cache as páginas que são trocadas. Se você trocar as páginas, qual é a vantagem de armazená-las na memória primeiro, apenas para movê-las para o lugar certo? Mesmo que as páginas sejam trocadas proativamente, não faz mais sentido "apenas" trocá-las? De fato, o cache de troca não é apenas um desperdício de recursos?
kernel
swap
cache
algorithms
txwikinger
fonte
fonte
Respostas:
Após mais algumas pesquisas, descobri que o termo SwapCached
/proc/meminfo
é enganoso. De fato, refere-se ao número de bytes simultâneos na memória e na troca, de modo que, se essas páginas não estiverem sujas, elas não precisam ser trocadas.fonte
Nunca ouvi falar disso e também não faz muito sentido para mim. Eu ainda acho que a boa e velha regra de garantir que ela simplesmente não seja trocada (exceto, é claro, as reservas) é a melhor. Agora, teoricamente, o armazenamento em cache de coisas na memória direta disponível, que demora um pouco para carregar de algo tão lento quanto um disco, tem uma vantagem aparente. Mas se você é capaz de armazenar em cache páginas a serem trocadas, por que trocar novamente em primeiro lugar?
fonte
O ponto de duplicar as páginas entre swap e RAM é evitar a espera do disco se:
Algo precisa ler deles
Eles precisam ser despejados para abrir espaço para outra coisa
Se eles estivessem apenas em troca, o caso 1. significaria esperar pela entrada do disco; se eles estivessem apenas na RAM, o caso 2. significaria esperar que eles fossem para o disco.
(Obviamente, o caso 2 é realmente um pouco mais complicado, já que é obviamente mais barato despejar essas páginas, então o kernel provavelmente as despeja preferencialmente, mas o ponto deve ficar claro.)
fonte