Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

PERF_RPHOST_MEMORY_LEAK 1С:Предприятие и СУБД

Гайд 1С: Устранение утечек дескрипторов и памяти в рабочих процессах rphost

Обновлено: 26.08.2026 · Официальная документация ↗
  • Рабочие процессы rphost непрерывно увеличивают потребление RAM вплоть до срабатывания OOM Killer.
  • Ошибка Too many open files или сбои сетевых сокетов в журнале сервера 1С.
  • Зависание сеансов при выполнении длительных фоновых заданий или интеграций.

1. Настройка политик автоперезапуска процессов в кластере 1С

В консоли администрирования кластера серверов 1С (в свойствах кластера) задайте защитные ограничения для рабочих процессов:

  • Допустимый объем памяти: Укажите 80% от физической памяти сервера (в байтах).
  • Интервал превышения допустимого объема памяти: 30–60 секунд.
  • Временно допустимый объем памяти процессов: Лимит аварийного завершения.
  • Интервал перезапуска рабочих процессов: 86400 секунд (1 раз в сутки).

2. Диагностика утечек файловых дескрипторов в Linux

# Поиск PID процессов rphost
pgrep -l rphost

# Подсчет открытых дескрипторов (файлы, сокеты, каналы)
ls -l /proc/<PID_RPHOST>/fd | wc -l

# Анализ типов открытых дескрипторов
lsof -p <PID_RPHOST> | awk '{print $5}' | sort | uniq -c | sort -nr

3. Увеличение системных лимитов дескрипторов (Linux)

В файле /etc/security/limits.d/99-1c.conf установите:

usr1cv8 soft nofile 65536
usr1cv8 hard nofile 65536
usr1cv8 soft nproc 32768
usr1cv8 hard nproc 32768

В systemd-юните службы /etc/systemd/system/srv1cv83.service добавьте:

[Service]
LimitNOFILE=65536
LimitNPROC=32768
💡 Практика специалистов: Обязательно настраивайте параметр кластера 'Объем памяти рабочих процессов, до которого сервер считается производительным' — при его превышении кластер перестает назначать новые сеансы на перегруженный rphost.

Частые вопросы (FAQ)

Почему в rphost возникают утечки памяти?

Утечки вызываются некорректным кодом конфигурации (неочищенные глобальные переменные, циклические ссылки в объектах, не закрытые COM-соединения/HTTP-ответы) или багами конкретного релиза платформы.

Что происходит с сессиями пользователей при автоперезапуске rphost по лимиту памяти?

Кластер 1С создает новый процесс rphost, плавно переносит в него новые входящие вызовы пользователей, а старый rphost завершается после завершения активных вызовов без обрыва сессий.

Как ограничить количество информационных баз на один рабочий процесс?

В свойствах рабочего сервера кластера 1С установите параметр 'Количество ИБ на один процесс' = 1, чтобы изолировать тяжелые базы друг от друга в разных процессах rphost.

Как понять, какой именно сеанс вызвал резкий рост памяти rphost?

В консоли кластера 1С откройте список сеансов и отсортируйте по колонке 'Память (текущая)' и 'Память (всего)', либо используйте событие MEM технологического журнала 1С.

Полезные материалы
Рекомендуем