Quando a memória é trocada para o disco e depois a RAM é liberada, a memória é trocada de volta para a RAM?


1

Eu estou supondo que a resposta depende do sistema operacional. Nesse caso, é o VMware ESXi. Eu criei uma condição de pouca memória, migrando várias VMs para um host que tenha excesso de confirmação de memória. Uma vez que o compartilhamento de página e o balão de ar são acionados, há muita RAM sem qualquer paginação, no entanto, esses processos levam tempo. Durante esse tempo, o ESXi troca a memória no disco.

Então, eu estou com uma condição que eu acabo com muita memória de host livre, mas ainda assim uma quantidade significativa foi trocada para o disco.

Quando esta memória será trocada de volta para a RAM? Apenas quando é acessado? E isso também significa, quando é acessado, haverá atraso? Isso é evitável?

Respostas:


2

Apenas quando é acessado. Todos os SOs de memória virtual modernos são "paginados por demanda", o que significa que as coisas são paginadas como resultado de falhas de página, que ocorrem quando páginas "inválidas" são referenciadas.

(Uma página "inválida" é simplesmente uma que gera uma falha de página quando referenciada. Ela pode estar na RAM, em um cache de página. O nome vem do bit "válido" na entrada da tabela de páginas x86 / x64. Outro nome pois isso é "residente", mas esse nome é um pouco enganador, já que, novamente, uma página "inválida" pode estar na RAM, em um cache de página.

Isso é modificado de alguma forma pela pré-busca e leitura e assim por diante, mas fundamentalmente, as coisas ainda são paginadas por demanda.

A razão para isso é que quando um programa está inativo por um tempo (e é "trocado para o disco", seu padrão de acesso à memória na próxima vez que ele faz alguma coisa não será necessariamente semelhante ao que era anteriormente). simplista para apenas página em que estava na memória antes.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.