O que acontece quando o sistema operacional Linux está sem RAM e nenhuma troca está disponível?
O que acontece quando o sistema operacional Linux está sem RAM e nenhuma troca está disponível?
Respostas:
Quando o sistema operacional está sem RAM e não tem troca, ele descarta as páginas limpas. Ele não pode descartar páginas sujas porque precisaria escrevê-las em algum lugar primeiro. Isso causa falhas e desempenho ruim se houver RAM insuficiente para manter o conjunto de trabalho. Essa é uma das principais razões pelas quais você realmente deseja trocar - para que o sistema operacional possa tomar uma decisão melhor sobre quais páginas despejar.
Sem troca, o sistema fica sem memória virtual (a rigor, RAM + troca) assim que não tiver mais páginas limpas para despejo. Então terá que matar processos.
Ficar sem RAM é completamente normal. É apenas uma rotação negativa sobre o uso de RAM. Não ficar sem memória RAM também pode ser descrito como "desperdiçar memória RAM". Quando toda a RAM está em uso, o sistema operacional toma decisões inteligentes sobre o que manter na RAM e o que não. Sem qualquer troca, ele tem menos opções.
Com ou sem troca, quando a remoção de páginas não for suficiente, o sistema operacional começará recusando-se a permitir operações que exijam memória (como mmap
e fork
). No entanto, às vezes isso não é suficiente e os processos precisam ser eliminados.