Onde a memória virtual é armazenada no disco rígido?

6

Se um processo quiser acessar um endereço de memória que não esteja na memória física, o SO terceirizará um quadro de página da memória física para o disco rígido para uso posterior. Onde, no disco rígido, esses dados / instruções são armazenados?

É armazenado na partição swap?

    
por JohnnyFromBF 26.03.2013 / 15:02

2 respostas

5

Você pode executar swapon -s para ver quais dispositivos e arquivos estão sendo usados para troca. Por exemplo, minha máquina científica de linux diz:

[[email protected] ~]$ swapon -s
Filename                Type        Size    Used    Priority
/dev/sda3                               partition   8388600 833408  -1

Estou usando o / dev / sda3 para swap. Observe também o campo de prioridade que pode ser usado para ajustar a ordem na qual as páginas de troca são alocadas (consulte man 2 swapon ).

Como algumas pessoas afirmaram, se você ficar sem swap (ou trocar zero), o OOM Killer pode começar a matar processos quando a memória física fica baixa.

    
por 26.03.2013 / 16:25
2

Páginas de memória de processo podem ser deslocadas da RAM para o disco. Isso é chamado de troca ou paginação (os termos são essencialmente sinônimo ). Os dados são movidos para o espaço de troca e carregados de volta a partir do espaço de troca quando necessário. O Linux suporta ambas as partições (e outros dispositivos de bloco) e arquivos como espaço de troca.

Se a página em questão contiver dados carregados de um arquivo, os dados não serão gravados para trocar espaço se a página precisar ser recuperada: ela é simplesmente apagada da RAM. Quando o processo precisar da página novamente, os dados serão carregados de volta a partir desse arquivo.

    
por 27.03.2013 / 02:16