Що відбувається, коли linux OS виходить з оперативної пам’яті і не відбувається своп


23

Що відбувається, коли linux OS не має оперативної пам’яті і немає підкачки?


15
Було б погано. Спробуйте уявити все життя так, як вам відомо, що воно припиняється миттєво, і кожна молекула у вашому тілі вибухає зі швидкістю світла. Загальний протонічний зворот.
Девід

Відповіді:


36

Якщо операційна система не має оперативної пам’яті і не має підкачки, вона відкидає чисті сторінки. Він не може відкинути брудні сторінки, тому що доведеться їх спочатку записати. Це спричиняє обмолот і низьку продуктивність, якщо недостатньо оперативної пам'яті для утримання робочого набору. Ось одна з головних причин, по якій ви дійсно хочете поміняти місцями - так що операційна система може прийняти краще рішення про те, які сторінки потрібно виселити.

Без підкачки система втратить віртуальну пам’ять (строго кажучи, RAM + swap), як тільки у неї більше не буде чистих сторінок для виселення. Тоді доведеться вбивати процеси.

Вичерпання оперативної пам’яті є абсолютно нормальним. Це лише негативний спін на використання оперативної пам'яті. Якщо не буде втрачено оперативної пам’яті, так само можна було б охарактеризувати як «марнування оперативної пам'яті». Після використання всієї оперативної пам’яті операційна система приймає розумні рішення про те, що зберігати в оперативній пам’яті, а що не потрібно. Без будь-якого обміну, він має менше варіантів.

З підкачкою або без неї, коли виселення сторінок недостатньо, операційна система почне відмовлятись у дозволі операцій, для яких потрібна оперативна пам'ять (наприклад, mmapта fork). Однак іноді цього недостатньо, і процеси доводиться вбивати.


4
+1 "Вичерпання оперативної пам’яті є цілком нормальним явищем. Це лише негативне скорочення використання оперативної пам’яті. Невичерпність оперативної пам’яті так само можна було б охарактеризувати як„ марнування оперативної пам’яті ”."
TheTurkey

Пов'язаний запит. Чи знаєте ви, що станеться, якщо я спробую перезимувати машину Linux і не вистачає місця для обміну для зберігання перехідних даних? Це перестає зимувати?
Prahlad Yeri

1
@PrahladYeri Це правильно. Якщо у вас немає призупиненого розділу і не вистачає безкоштовної підкачки для вмісту оперативної пам’яті, ви не можете перезимувати.
Девід Шварц

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.