Как настроить ограничения памяти в 1С:Предприятие 8.3.16, если пропал параметр Допустимый объем памяти

Системный администратор 1С v8.3 (Управляемые формы)
← На главную

С выходом обновлений платформы 1С:Предприятие до версий 8.3.15 и 8.3.16 многие системные администраторы столкнулись с неожиданным изменением интерфейса консоли администрирования кластера. Привычный параметр "Допустимый объем памяти" исчез из свойств кластера, что вызвало затруднения в управлении потреблением ресурсов процессами rphost.exe. В рамках данной статьи мы подробно разберем, куда переместились эти настройки, почему они могут быть недоступны и как эффективно управлять сервером в условиях новых ограничений лицензирования.

Причины изменения интерфейса и новая идеология управления

Проанализируем ситуацию: начиная с версии 8.3.15, компания «1С» изменила подход к управлению ресурсами. Если раньше настройки памяти были глобальными для всего кластера, то теперь идеология сместилась в сторону управления конкретными рабочими серверами. Это логично для распределенных систем, где разные сервера в одном кластере могут иметь разный объем физической оперативной памяти.

Разберем, где теперь искать эти параметры. Теперь настройки лимитов находятся в Свойствах рабочего сервера (внутри ветки "Рабочие серверы" в консоли администрирования). Однако здесь администраторы сталкиваются со второй проблемой: значения параметров часто заблокированы или сброшены в "0".

Различия лицензий ПРОФ и КОРП в управлении памятью

Выясним причину, по которой настройки могут не работать. В версиях 8.3.16+ введено жесткое программное разграничение функционала между лицензиями уровня ПРОФ и КОРП. Параметры прямого ограничения памяти теперь официально считаются функционалом КОРП-уровня.

Рассмотрим, какие именно параметры требуют лицензию КОРП:

  1. Максимальный объем памяти рабочих процессов — позволяет жестко ограничить суммарный объем ОЗУ, который может занять сервер 1С.
  2. Безопасный расход памяти за один вызов — критически важный параметр, позволяющий прерывать выполнение конкретного «тяжелого» отчета или запроса, если он начинает потреблять слишком много памяти, не дожидаясь падения всего процесса rphost.
  3. Объем памяти рабочих процессов, при котором сервер считается непроизводительным — позволяет системе автоматически перенаправлять новые подключения на другие сервера кластера при достижении порога памяти.

Если у вас установлена лицензия ПРОФ, значение "Максимальный объем памяти" будет всегда равно 0, что означает отсутствие ограничений со стороны платформы. Система будет потреблять столько ресурсов, сколько ей позволит операционная система Windows или Linux.

Решение для лицензии ПРОФ: Косвенное ограничение через количество соединений

Проанализируем ситуацию, когда покупка КОРП-лицензии не планируется, но проблему с утечками памяти в rphost.exe нужно решать. Единственным штатным и легальным способом управления памятью в ПРОФ-версии остается регулирование количества рабочих процессов. Чем больше процессов rphost запущено, тем меньше вероятность того, что один проблемный сеанс обрушит работу всех пользователей.

Посмотрим на алгоритм настройки:

  1. Откройте консоль администрирования серверов 1С.
  2. Перейдите в свойства вашего Рабочего сервера.
  3. Найдите параметр "Количество соединений на процесс". По умолчанию там установлено значение 256.
  4. Уменьшите это значение. Например, если у вас 200 пользователей, установите значение 16 или 25.

Математика здесь простая: при 200 пользователях и лимите 16 соединений на процесс, сервер будет вынужден запустить около 13 процессов rphost.exe. Каждый из них будет владеть своим адресным пространством. Если один пользователь запустит огромный отчет, который "раздует" память процесса, пострадают только те 15 человек, которые находятся в этом же rphost, а не все 200.

Важное замечание: увеличение количества процессов увеличивает накладные расходы на саму ОС (переключение контекста процессора), поэтому не стоит устанавливать слишком маленькие значения (например, 1-2 соединения на процесс).

Правильная процедура перезапуска сервера для применения настроек

Рассмотрим ситуацию из практики: администраторы меняют параметры, но старые сеансы продолжают висеть и потреблять память. Выясним, как правильно "очистить" сервер. Простого перезапуска службы "Агент сервера 1С:Предприятия" иногда недостаточно, так как процессы могут зависнуть в состоянии завершения.

Рекомендуется следующий алгоритм полной очистки:

  1. Остановите службу 1С:Предприятия через services.msc.
  2. Откройте "Диспетчер задач" и убедитесь, что все процессы rphost.exe, rmngr.exe и ragent.exe завершены.
  3. Если процессы остались ("зомби-процессы"), завершите их принудительно.
  4. Дождитесь освобождения оперативной памяти.
  5. Запустите службу заново.

Использование автоматизации (PowerShell) для контроля памяти

Поскольку в ПРОФ-версии нет штатного механизма "убийства" прожорливых процессов, разберем, как можно автоматизировать этот процесс внешними средствами. Мы можем использовать скрипты PowerShell для мониторинга. Рассмотрим пример логики скрипта:


# Пример логики мониторинга памяти rphost
$limit = 4GB
$procs = Get-Process rphost
foreach ($p in $procs) {
    if ($p.WorkingSet64 -gt $limit) {
        Write-Host "Процесс $($p.Id) превысил лимит. Требуется вмешательство."
        # Здесь может быть команда на мягкое завершение через COM-соединение 
        # или уведомление администратору
    }
}

Такой подход позволяет оперативно узнавать о проблемах, которые раньше решались параметром "Допустимый объем памяти".

Дополнительные рекомендации по оптимизации

Посмотрим на другие настройки, которые остались доступны в ПРОФ-версии и помогают бороться с перерасходом ресурсов:

  1. Период перезапуска рабочих процессов: Установите ненулевое значение (например, 86400 секунд — раз в сутки). Это позволит процессам rphost плавно перезапускаться, освобождая накопленную из-за фрагментации память.
  2. Выключенные процессы: При использовании параметра "Количество соединений на процесс", старые процессы будут помечаться как "выключенные" и постепенно завершаться сами после того, как последний пользователь из них выйдет.
  3. Анализ кода: Самый эффективный метод. Если память растет стремительно, проанализируйте запросы в динамических списках и отчеты на СКД. Никакие настройки сервера не заменят оптимизацию неэффективного кода 1С.

Подведем итог: отсутствие параметра "Допустимый объем памяти" в 1С 8.3.16 для лицензий ПРОФ — это осознанное ограничение платформы. Для стабильной работы без КОРП-лицензии необходимо использовать дробление на несколько рабочих процессов через параметр Количество соединений на процесс и внедрять регламентные перезапуски рабочих процессов кластера.

← На главную