Что происходит, когда ОС Linux не хватает оперативной памяти и нет подкачки


23

Что происходит, когда ОС Linux не хватает оперативной памяти и нет подкачки?


15
Это было бы плохо. Попытайтесь представить всю жизнь такой, какой вы ее знаете, она мгновенно останавливается, и каждая молекула в вашем теле взрывается со скоростью света. Полное протонное обращение.
Дэвид

Ответы:


36

Когда операционной системе не хватает оперативной памяти и нет подкачки, она удаляет чистые страницы. Он не может отбрасывать грязные страницы, потому что он должен был бы сначала написать их где-нибудь. Это вызывает побои и низкую производительность, если недостаточно ОЗУ для хранения рабочего набора. Это одна из основных причин, по которой вы действительно хотите поменяться местами - чтобы операционная система могла принять лучшее решение о том, какие страницы удалять.

Без подкачки система исчерпает виртуальную память (строго говоря, ОЗУ + подкачка), как только у нее не останется чистых страниц для удаления. Тогда придется убивать процессы.

Недостаток ОЗУ вполне нормален. Это просто негативное влияние на использование оперативной памяти. Нехватка ОЗУ также может быть описана как «потеря ОЗУ». После использования всей оперативной памяти операционная система принимает разумные решения о том, что хранить в ОЗУ, а что - нет. Без какого-либо обмена у него меньше вариантов.

С или без свопинга, когда удаления страниц недостаточно, операционная система запустится, отказавшись разрешить операции, которые требуют памяти (например, mmapи fork) для успешного выполнения. Однако иногда этого недостаточно, и процессы должны быть убиты.


4
+1 «Нехватка ОЗУ - совершенно нормальное явление. Это просто отрицательное вращение при использовании ОЗУ. Нехватка ОЗУ также может быть описана как« потеря ОЗУ ».»
TheTurkey

Связанный запрос. Знаете ли вы, что произойдет, если я попытаюсь перевести компьютер с Linux в спящий режим и не хватит места подкачки для хранения временных данных? Это перестает зимовать?
Прахлад Ери

1
@PrahladYeri Это правильно. Если у вас нет приостановленного раздела и недостаточно свободной подкачки для хранения содержимого оперативной памяти, вы не сможете перейти в спящий режим.
Дэвид Шварц

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.