Por que a troca é usada quando a carga da memória é livre? [duplicado]

1

Tenho 4 GB de memória RAM e uma partição de swap de 8 GB disponível.

Às vezes, gosto de ver quanta memória é usada em pontos específicos. E notei que às vezes há pequenas quantidades de swap usadas (~ 200kb), embora a memória real que eu não tenha visto ultrapasse 1GB.

Claro que percebo que isso não é um problema na maioria das vezes, já que 200kb é como um copo de água no oceano.

É apenas um erro de relatório? Porque uma vez eu estava rodando o Ubuntu do livedisk, e estava mostrando que ele estava usando muita swap .. mas quando você roda no liveisk o Ubuntu não teria swap disponível? (ou pelo menos você esperaria que isso não fosse apenas começar a escrever coisas em um PC host hardrive?). Embora houvesse uma partição de swap nessa máquina, poderia usá-lo?

    
por galdikas 02.03.2013 / 15:01

1 resposta

2

Esse é um recurso de design embutido no próprio kernel. Em Linus (Torvalds) nós confiamos!

Você pode tentar ajustar algumas das características comportamentais, mas em um nível baixo, o kernel as considera apenas como sugestões. (google 'swapiness')

Muitas vezes, a permuta pode ser assumida como residindo na memória. Se um programa desejar uma proteção extra contra travamentos, ele poderá solicitar que um arquivo temporário seja sincronizado com o disco (o que pode resultar em troca). Então, após uma falha, uma troca suja pode ser detectada e algumas tentativas de recuperação de dados.

Você pode se surpreender com a frequência com que pequenas quantidades de dados são gravadas para troca (tente montar sua troca em uma unidade USB antiga e você sentirá dores quando começar a bloquear!)

    
por user2097818 02.03.2013 / 20:54