Que se passe-t-il lorsque Linux OS hors RAM et aucun échange


23

Que se passe-t-il lorsque le système d'exploitation Linux manque de RAM et qu'aucun échange n'est disponible?


15
Ce serait mauvais. Essayez d'imaginer toute vie telle que vous la connaissez, s'arrêtant instantanément et chaque molécule de votre corps explosant à la vitesse de la lumière. Inversion protonique totale.
David

Réponses:


36

Lorsque le système d'exploitation est à court de RAM et n'a pas d'échange, il supprime les pages propres. Il ne peut pas supprimer les pages sales car il devrait d'abord les écrire quelque part. Cela provoque un débordement et de mauvaises performances s'il n'y a pas suffisamment de RAM pour contenir l'ensemble de travail. C'est l'une des principales raisons pour lesquelles vous voulez vraiment échanger - afin que le système d'exploitation puisse prendre une meilleure décision sur les pages à expulser.

Sans échange, le système manquera de mémoire virtuelle (à proprement parler, RAM + échange) dès qu'il n'aura plus de pages propres à supprimer. Ensuite, il devra tuer les processus.

Le manque de RAM est tout à fait normal. C'est juste un effet négatif sur l' utilisation de la RAM. Ne pas manquer de RAM pourrait tout aussi bien être décrit comme un "gaspillage de RAM". Une fois que toute la RAM est utilisée, le système d'exploitation prend des décisions intelligentes sur ce qu'il faut garder dans la RAM et ce qu'il ne faut pas. Sans aucun échange, il a moins de choix.

Avec ou sans échange, lorsque l'expulsion des pages n'est pas suffisante, le système d'exploitation commencera par refuser d'autoriser les opérations nécessitant de la mémoire (comme mmapet fork). Cependant, parfois, cela ne suffit pas et les processus doivent être tués.


4
+1 "Le manque de RAM est tout à fait normal. C'est juste un effet négatif sur l'utilisation de la RAM. Ne pas manquer de RAM pourrait tout aussi bien être décrit comme un" gaspillage de RAM "."
TheTurkey

Une requête connexe. Savez-vous ce qui se passe si j'essaie d'hiberner une machine Linux et qu'il n'y a pas assez d'espace de swap pour stocker les données transitoires? Arrête-t-il d'hiberner?
Prahlad Yeri

1
@PrahladYeri C'est exact. Si vous n'avez pas de partition suspendue et qu'il n'y a pas suffisamment de swap gratuit pour contenir le contenu de la RAM, vous ne pouvez pas hiberner.
David Schwartz

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.