Как ядро Linux решает, какой процесс «убить» при нехватке памяти

#Linux #Томас #Хабетс #Память #Killer
Как ядро Linux решает, какой процесс «убить» при нехватке памяти

В сентябре 2004 года разработчик Томас Хабетс вернулся к рабочей станции и обнаружил, что его экран разблокирован. Память закончилась, OOM Killer выбрал жертву и завершил xlock... Для того, чтобы больше такого не произошло Хабетс предложил список процессов, которые Linux запрещено убивать даже в такой ситуации. Его патч в ядро не вошёл, но позже разработчики добавили настройку приоритетов, поддержку cgroups и отдельный поток для быстрого освобождения памяти. Несмотря на это, OOM Killer всё равно может снести важный процесс, ведь ядро видит только объём памяти и заданные администратором правила. Если правил нет, то Linux сам решает, кого «убить». Почему и что делать, чтобы этого не произошло — в статье. Читать

В сентябре 2004 года разработчик Томас Хабетс вернулся к рабочей станции и обнаружил, что его экран разблокирован. Память закончилась, OOM Killer выбрал жертву и завершил xlock... Для того, чтобы больше такого не произошло, Хабетс предложил список процессов, которые Linux запрещено убивать даже в такой ситуации. Его патч в ядро не вошёл, но позже разработчики добавили настройку приоритетов, поддержку cgroups и отдельный поток для быстрого освобождения памяти.

Несмотря на это, OOM Killer всё равно может снести важный процесс, ведь ядро видит только объём памяти и заданные администратором правила. Если правил нет, то Linux сам решает, кого «убить». Почему и что делать, чтобы этого не произошло — в статье.

Память обещали, но не выдали

Linux разрешает программам запрашивать больше виртуальной памяти, чем система способна обеспечить физически. Процесс вызывает malloc() и получает адрес, но это ещё не значит, что под весь диапазон уже выделены страницы RAM. Реальная память нужна позже, когда процесс начинает читать или записывать эти страницы.

Похожие статьи

Персы едут в Казань: РФС объявил о дате товарищеского матча с Ираном Life.ru
Life.ru

Персы едут в Казань: РФС объявил о дате товарищеского матча с Ираном

Российский футбольный союз официально подтвердил проведение товарищеской встречи между сборными России и Ирана. Игра состоится 29 сентября в Казани.

Life.ru
The Verge
The Verge

Apple trained its own AI model for China with help from Alibaba

Apple has reportedly trained a custom AI model for the China market alongside domestic tech giant Alibaba, a rare cross-border partnership that cuts across growing tensions between Beijing and Washing...

The Verge
Forbes Russia
Forbes Russia

МТС откроет абонентам доступ к Spotify и Netflix

МТС объявил о запуске решения, которое позволит абонентам тарифных планов ТОП и ТОП+ пользоваться недоступными в России иностранными площадками, такими как Spotify, Netflix, Ticketmaster и Strava, соо...

Forbes Russia
Windows 11 стала быстрее запускать все приложения — Microsoft расширила работу «Профиля низкой задержки» 3DNews
3DNews

Windows 11 стала быстрее запускать все приложения — Microsoft расширила работу «Профиля низкой задержки»

С выпуском обновления безопасности от августа 2026 года (сборка 26200.9168 и более поздние) функция ускорения работы процессора в Windows 11 стала работать и при открытии приложений — ранее она примен...

3DNews
Chuwi представила игровой ноутбук GTBook X с Core 7 и RTX 3050 за $999 3DNews
3DNews

Chuwi представила игровой ноутбук GTBook X с Core 7 и RTX 3050 за $999

Компания Chuwi представила новый игровой ноутбук GTBook X, ориентированный на пользователей, которым нужна производительная система для игр, работы и учёбы без переплаты за премиальный сегмент. Новинк...

3DNews
Ведомости
Ведомости

Российский рынок акций упал до уровня 2200 по индексу

Подробности читайте на vedomosti.ru

Ведомости