В списъка за имейл до разработчиците на ядрото на Linux. проблема с обработката на ситуация на изчерпване на свободната памет в Linux:
Известен е проблем, който измъчва много хора през годините и който може да бъде възпроизведен за по-малко от няколко минути на последната версия на ядрото на Linux 5.2.6. Всички параметри на ядрото са зададени на стойности по подразбиране.
Стъпки:
- Зареждаме с параметъра "mem=4G".
- Изключваме поддръжката на swap (sudo swapoff -a).
- Стартираме всеки уеб браузър, например, Chrome/Chromium или/и Firefox.
- Започваме да отваряме раздели с сайтове и наблюдаваме как се намалява обемът на свободната памет.
Когато се появи ситуация, при която нов раздел изисква повече оперативна памет, отколкото е налично, системата практически напълно замръзва. Даже с трудност можете да движите курсора на мишката. Индикаторът на твърдия диск ще мига непрекъснато (не ми е ясно защо). Няма да можете да стартирате нови приложения или да затворите текущите.
Тази малка криза може да продължи минути или повече. Предполагам, че системата не трябва да се държи по този начин. Мисля, че е нужно нещо да се направи, за да се избегнат такива "замръзвания".
Сигурен съм, че може да се променят някои параметри на sysctl, за да се избегнат подобни ситуации, но нещо ми подсказва, че това може да бъде направено по подразбиране за всички, защото нетехническите потребители, сблъсквайки се с такъв проблем, просто ще се откажат от използването на Linux и няма да им е до търсене на решения в Google.
В в Reddit някои потребители предлагат да се включи swap, но това не решава проблема, а само го отлага и често влошава. Като възможно решение в бъдеще може да бъде привлечена нововъзникналата в ядрото и подобрената в ядрото подсистема PSI (Pressure Stall Information), която позволява анализ на информация за времето за изчакване за получаване на различни ресурси (CPU, памет, вход/изход). Тази подсистема дава възможност за организиране на проследяване на недостиг на памет на ранна фаза, определяне на източника на проблемите и приключване на неважни приложения, без да се допуска появата на забележими за потребителя ефекти.
Източник: opennet.ru
