LINUX.ORG.RU

История изменений

Исправление hakavlad, (текущая версия) :

Что делает-то код? Просто убивает тейлы?

nohang: убивает тейлы.

memavaild: балансировщик доступной памяти. При исчерпании доступной памяти уменьшает memory.high указанных в конфиге контрольных групп (по умолчанию user.slice и system.slice), тем самым освобождая доступную память и место под файловые кэши.

prelockd:

mlock() на мемори маппленные файлы. Это препятствует не выгрузке в своп, а ОТБРАСЫВАНИЮ КЭША. Обычно при нехватке памяти кэш исполняемого кода отбрасывается, потом снова загружается с диска - возникает колесо thrashing’a и высокий io (чему очень удивлялся А. Ташкинов [1]). При применении prelockd такого не происходит - нет фазы выгрузки кода и зависания - сразу приходит киллер. При наличии свопа просто силно растет отзывчивость гуя и прочего.

[1] https://lkml.org/lkml/2019/8/4/15

Исправление hakavlad, :

Что делает-то код? Просто убивает тейлы?

nohang: убивает тейлы.

memavaild: балансировщик доступной памяти. При исчерпании доступной памяти уменьшает memory.high указанных в конфиге контрольных групп (по умолчанию user.slice и system.slice), тем самым освобождая доступную память и место под файловые кэши.

prelockd:

mlock() на мемори маппленные файлы. Это препятствует не выгрузке в своп, а ОТБРАСЫВАНИЮ КЭША. Обычно при нехватке памяти кэш исполняемого кода отбрасывается, потом снова загружается с диска - возникает колесо thrashing’a и высокий io (чему очень удивлялся А. Ташкинов [1]). При применении prelockd такого не происходит - нет фазы выгрузки кода и зависания - сразу приходит киллер. При наличии свопа просто силно растет отзывчивость гуя и прочего.

[1] https://lkml.org/lkml/2019/8/4/15

Исходная версия hakavlad, :

Что делает-то код? Просто убивает тейлы?

nohang: убивает тейлы.

memavaild: балансировщих доступной памяти. При исчерпании доступной памяти уменьшает memory.high указанных в конфиге контрольных групп (по умолчанию user.slice и system.slice), тем самым освобождая доступную память и место под файловые кэши.

prelockd:

mlock() на мемори маппленные файлы. Это препятствует не выгрузке в своп, а ОТБРАСЫВАНИЮ КЭША. Обычно при нехватке памяти кэш исполняемого кода отбрасывается, потом снова загружается с диска - возникает колесо thrashing’a и высокий io (чему очень удивлялся А. Ташкинов [1]). При применении prelockd такого не происходит - нет фазы выгрузки кода и зависания - сразу приходит киллер. При наличии свопа просто силно растет отзывчивость гуя и прочего.

[1] https://lkml.org/lkml/2019/8/4/15