Документация ядра Overcommit Accounting описывает три режима vm.overcommit_memory. Эта статья ограничена политикой Linux; иные значения слова overcommit в виртуализации или планировании емкости требуют отдельного разбора.

Три режима не три размера сервера

РежимСмысл по документации
0Эвристическая обработка с отказом от очевидных чрезмерных выделений
1Разрешение overcommit
2Ограничение учитываемых обязательств заданной границей

Для режима 2 граница связана со swap и настроенной долей или объемом физической памяти. CommitLimit и Committed_AS представлены в /proc/meminfo. Эти поля относятся к учету; нельзя переименовать Committed_AS в «столько RAM занято сейчас».

Почему ошибка выделения отличается от OOM

Политика может влиять на возможность получить выделение памяти. А фактическая работа страниц и ограничения среды - другая часть задачи. Не обещайте, что один режим гарантирует отсутствие любых ошибок или OOM при произвольном приложении.

Учебная ситуация: программа запрашивает адресное пространство до того, как использует все страницы. Размер запроса и текущая нагрузка не обязаны описывать одно и то же. Это пример различия учета, не наблюдение за вашим процессом.

Сначала область действия, затем настройка

Сохраните режим, учитываемую границу, обязательства и характер операции. Уточните версию ядра и ограничения группы. Если приложение находится в контейнере, видимые ему сведения нужно сопоставить с уровнем, на котором действует реальный лимит.

Не ставьте режим 1 просто для исчезновения отказа. Изменение политики не добавляет физическую память и не заменяет план восстановления. Для рабочей правки нужен ответственный, изолированная проверка и понятный возврат предыдущих условий.

Как использовать это при выборе VPS

Запросите конкретные условия услуги и наблюдение за своей операцией. По названию технологии нельзя определить перепродажу емкости, честность поставщика или гарантированную долю CPU. Каталог VPS содержит ресурсы, не наши измерения этой политики.

Источник прочитан 7 октября 2026 года. /proc и sysctl пользователя не читались и не менялись, выделения памяти не тестировались. Для области подкачки перейдите к swap, остальные понятия собраны в словаре.