Согласно этому документу: https://www.kernel.org/doc/Documentation/vm/overcommit-accounting , если я установлю «vm.overcommit_memory» на "2", то «Общая фиксация адресного пространства для системы не разрешено превышать swap + настраиваемый объем (по умолчанию 50%) физической памяти. " Кроме того, «Сумма превышения может быть установлена с помощью« vm.overcommit_ratio »(в процентах) или« vm.overcommit_kbytes »(абсолютное значение)».

Мой вопрос заключается в том, ограничивают ли vm.overcommit_ratio и vm.overcommit_kbytes суммарную сумму фиксации памяти всеми процессами или просто ограничивают каждый процесс?

Я думаю, что это должно быть последним, потому что нет смысла ограничивать использование системой только половины физической памяти, но описание в документе предполагает, что это ограничение глобально.

2 ответа2

2

Это глобально. Цель этого параметра - убедиться, что вы не можете израсходовать всю свою память, и заставить OOM killer запустить процессы уничтожения.

2

Я думаю, что это должно быть последним,

Это первое.

потому что нет смысла ограничивать использование системой только половины физической памяти, но описание в документе предполагает, что это ограничение глобально.

Согласовано. Но это не предел того, сколько физической памяти используется. Как говорится, он ограничивает адресное пространство, а не использование физической памяти. Конечно, система будет использовать почти всю свою оперативную память.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .