Cosa succede quando il SO Linux non ha RAM e non si scambia


23

Cosa succede quando il sistema operativo Linux non ha più RAM e non è disponibile lo scambio?


15
Sarebbe male Prova a immaginare tutta la vita come la conosci, fermandosi istantaneamente e ogni molecola del tuo corpo esplode alla velocità della luce. Inversione protonica totale.
David

Risposte:


36

Quando il sistema operativo ha esaurito la RAM e non ha swap, scarta le pagine pulite. Non può scartare le pagine sporche perché prima dovrebbe scriverle da qualche parte. Ciò provoca thrashing e scarse prestazioni se la RAM non è sufficiente per contenere il working set. Questo è uno dei motivi principali per cui vuoi davvero scambiare, quindi il sistema operativo può prendere una decisione migliore su quali pagine sfrattare.

Senza scambio, il sistema esaurirà la memoria virtuale (a rigore, RAM + scambio) non appena non ha più pagine pulite da eliminare. Quindi dovrà uccidere i processi.

A corto di RAM è del tutto normale. È solo un giro negativo sull'uso della RAM. Non esaurire la RAM potrebbe ugualmente essere descritto come "spreco di RAM". Una volta che tutta la RAM è in uso, il sistema operativo prende decisioni intelligenti su cosa conservare nella RAM e cosa non fare. Senza alcuno scambio, ha meno scelte.

Con o senza scambio, quando lo sfratto delle pagine non è sufficiente, il sistema operativo inizierà rifiutando di consentire le operazioni che richiedono memoria (come mmape fork) per avere successo. Tuttavia, a volte non è abbastanza e i processi devono essere uccisi.


4
+1 "L'esaurimento della RAM è del tutto normale. È solo una rotazione negativa dell'utilizzo della RAM. Non esaurire la RAM potrebbe essere anche descritto come" spreco di RAM "."
TheTurkey,

Una query correlata. Sai cosa succede se provo a ibernare una macchina Linux e non c'è spazio di scambio sufficiente per memorizzare i dati temporanei? Smette di letargo?
Prahlad Yeri,

1
@PrahladYeri È corretto. Se non si dispone di una partizione di sospensione e lo scambio libero non è sufficiente per contenere il contenuto della RAM, non è possibile ibernare.
David Schwartz,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.