Сервер 1С падает: настройка сбора дампов (logcfg.xml), лимиты памяти и передача дампа в поддержку

25.08.26

База данных - Администрирование СУБД

rphost падает, дампы копятся, а причины не видно. Разбираю официальную диагностику по шагам: настройка logcfg.xml для пригодного дампа, лимиты памяти рабочих процессов, снятие дампа через procdump и передача в поддержку 1С.

Сначала о том, что это вообще такое. Когда процесс сервера 1С (например rphost) аварийно завершается, система может сохранить дамп - файл .mdmp со снимком памяти процесса в момент падения: какой код выполнялся, какие библиотеки были загружены, сколько занято памяти. По такому снимку можно понять, отчего процесс упал. Можно - если дамп собран правильно, а по умолчанию это не так. С этого и начнём.

Падает rphost или зависает сервер, в каталоге копятся файлы .mdmp, и непонятно, что с ними делать дальше. Разберу по шагам официальную диагностику: как настроить сбор пригодного дампа, как убрать частые причины падений штатными настройками кластера и как правильно передать дамп в поддержку 1С. Всё - документированными механизмами платформы и средствами ОС, без разбора внутренностей файла руками.

Материал на данных одной инсталляции: клиент-серверная, два узла кластера, платформа 8.3.27, Windows Server 2016, семь месяцев наблюдений.

 

Шаг 1. Настройте сбор дампов в logcfg.xml

Главная причина, по которой «дамп ничего не показал», - тип сбора по умолчанию. В файле logcfg.xml сервера (каталог conf, по умолчанию C:\Program Files\1cv8\conf\) тег дампа обычно стоит с минимальным типом:

<dump create="false" type="0" prntscrn="false"/>

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

<dump create="true" type="3" location="D:\1c-dumps"/>

При type="3" в дамп попадает контекст нити и данные исключения - то, ради чего его вообще снимают. Настройка официальная, описана на ИТС в разделе про технологический журнал и logcfg.xml.

Честно про цену. Дамп полного типа занимает примерно столько, сколько процесс держал памяти. При среднем 2,5-3 ГБ на процесс и двух десятках падений в месяц это порядка 50-60 ГБ в месяц, а один эпизод в наших данных дошёл до 41 ГБ разом. Поэтому location выносите на отдельный диск, а полный тип включайте временно, под отлов двух-трёх падений, и возвращайте обратно.

 

Шаг 2. Уберите частые причины настройками кластера

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

Лимиты памяти. Задайте в свойствах рабочего сервера «Максимальный объём памяти рабочих процессов» и «Безопасный расход памяти за один вызов». Лимит превращает аварию по памяти в управляемый перезапуск процесса: падение не исчезает, но перестаёт уносить чужие сеансы, а заодно уходит часть дампов нулевого размера (они пустые потому, что на запись файла памяти уже не оставалось).

Тут важно не спутать две цифры памяти. Резидент (WorkingSet) - то, что процесс физически держит в оперативной памяти, это показывает диспетчер задач. Коммит (PrivateUsage) - то, что процесс запросил у системы, независимо от того, вытеснено оно в подкачку или нет. Мониторинг, который следит только за резидентом, роста может не увидеть, а отказы «не удалось выделить память» считаются по коммиту. Поэтому следите за PrivateUsage, а не за WorkingSet.

Полнотекстовый индекс. Если пик падений приходится на ночное окно регламентных заданий, частый виновник - обновление полнотекстового индекса: вложения разбираются сторонними IFilter-библиотеками Windows прямо в адресном пространстве rphost, и повреждённый файл роняет процесс. Вынесите обновление индекса в отдельный рабочий процесс или ограничьте типы индексируемых файлов.

Чужой код в серверном процессе. Не тащите COM и .NET в рабочий процесс без нужды. Внешние компоненты подключайте файлом с диска, а не из макета - тогда у них будут нормальные имя и версия, и разбираться с ними проще. Отдельно: если в коде остался прямой доступ к СУБД через ADODB.Connection на драйвере sqlncli11.dll - он снят с поддержки Microsoft, замените на Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL).

 

Шаг 3. Снимите дамп для поддержки: procdump

Если процесс не падает, а зависает, ждать аварийного дампа бессмысленно - его сделать надо самому. Штатный способ - утилита procdump из пакета Sysinternals (Microsoft):

procdump -ma <PID> C:\1c-dumps\rphost.dmp

Ключ -ma снимает полный дамп процесса (со всей памятью) - именно такой нужен для анализа. PID рабочего процесса видно в консоли кластера или в диспетчере задач. Для отлова момента падения procdump умеет ждать исключение (-e) или превышение памяти по порогу - параметры есть в его справке.

Дальше дамп передаётся в поддержку 1С. Разбирать его самостоятельно не нужно и чаще всего бесполезно: если авария произошла внутри библиотеки самой платформы, поправить это может только вендор, а не вы в своей конфигурации. Приложите к обращению дамп полного типа, версию платформы и описание, при каких действиях воспроизводится. Один пригодный дамп даёт поддержке больше, чем гигабайты минимальных.

Один момент про безопасность перед отправкой: полные пути в дампе содержат имя сервера и учётной записи. Если прикладываете к обращению скриншоты или выдержки - помните об этом и не публикуйте инфраструктуру в открытых ветках.

 

Как оформить обращение в поддержку 1С

Когда дамп собран полным типом и авария повторяется, разбирать файл самому не нужно - его отдают в поддержку 1С. Чтобы обращение не вернулось с просьбой «пришлите ещё данных», сразу приложите к нему всё, что нужно для разбора:

  • Сам дамп полного типа (type="3" или снятый через procdump -ma). Минимальный дамп бесполезен, об этом первый раздел.
  • Точную версию платформы (например 8.3.27.1989) и разрядность процесса. Версия видна в консоли кластера и в имени файла дампа.
  • Технологический журнал за момент аварии. Он настраивается тем же logcfg.xml: событие EXCP ловит исключения с текстом, а рядом видно, что процесс делал перед падением. Дамп показывает «где», журнал - «что происходило».
  • Шаги воспроизведения: при каких действиях падает, регулярно или случайно, привязано ли к времени (ночные регламенты), к конкретной базе или пользователю. Даже «падает около 03:00 раз в сутки» сужает поиск.
  • Окружение: версии ОС и СУБД, их разрядность, установленные внешние компоненты, сколько узлов в кластере.

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

Дампов нет вообще: пять причин, и все чинятся до следующего падения

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

  • Сбор выключен. В теге стоит create="false". Самая частая и самая обидная: файл конфигурации правили, тип подняли, а флаг включить забыли.
  • Каталогу нет прав. Служба сервера 1С работает под своей учётной записью, и если у неё нет права записи в каталог из location, дамп не пишется молча. Никакой ошибки вы не увидите. Проверяется просто: создайте в этом каталоге файл от имени той же учётки.
  • Нет места на диске. Полный дамп размером с память процесса, а падают процессы обычно как раз распухшими. Три гигабайта свободного места на диске означают, что дампа не будет ни одного.
  • location не задан. Тогда искать файлы надо не там, где привыкли, а рядом с каталогом технологического журнала из того же logcfg.xml. Каталог дампов обычно смотрят один, а пишутся они в другой.
  • Процесс не падал. Самая коварная. Рабочий процесс, снятый кластером по превышению лимита памяти, завершается штатно, и дампа при этом не бывает по определению. Снаружи это выглядит одинаково: сеансы оборвались, люди ругаются. Различить можно по журналу регистрации: авария оставляет запись об ошибке, а плановое завершение по лимиту - нет.

Упал rphost, rmngr или ragent - это три разные аварии

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

  • rphost - рабочий процесс, в нём живут сеансы пользователей. Его падение рвёт сеансы тех, кто на нём был, но кластер поднимет новый процесс сам. Неприятно, восстанавливается автоматически.
  • rmngr - менеджер кластера: блокировки объектов, лицензирование, служебные сервисы. Его падение задевает всех, кто живёт на этом кластере, а не одну группу сеансов.
  • ragent - агент сервера. Если упал он, сервер выпал из кластера целиком, и никакие рабочие процессы на нём уже не поднимутся.

Практический смысл различия такой. Одиночные падения rphost раз в сутки - это работа для настроек памяти из второго шага. Падения rmngr или ragent настройками лимитов не лечатся, и с ними идут в поддержку сразу, не пытаясь подобрать цифры.

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

Шпаргалка: симптом - официальное действие

 

Симптом Что сделать (штатно)
Дампы собираются, но «пустые», причину не видно Поднимите type до 3 в logcfg.xml, поймайте два-три падения
Файлы дампов нулевого размера, падения по памяти Задайте «Максимальный объём памяти рабочих процессов» и «Безопасный расход памяти за один вызов»
Мониторинг не видит роста памяти, а сервер падает по ней Следите за PrivateUsage (коммит), а не за WorkingSet (резидент)
Пик падений в окне ночных регламентов Вынесите обновление полнотекстового индекса в отдельный процесс или ограничьте типы файлов
В коде прямой доступ к СУБД через ADODB.Connection Замените драйвер sqlncli11.dll на Microsoft OLE DB Driver for SQL Server
Процесс не падает, а зависает Снимите полный дамп через procdump -ma и передайте в поддержку 1С
Упал rmngr или ragent (весь узел, не сеанс) Разбирайте в первую очередь; дамп полного типа - в поддержку 1С

 

Коротко

  1. Проверьте logcfg.xml до следующего падения: при type="0" дампы собираются без контекста исключения, разобрать их нельзя.
  2. Поднимите тип до 3 временно, под отлов двух-трёх падений; location - на отдельный диск, полный дамп весит как память процесса.
  3. Поставьте лимиты памяти рабочих процессов - авария становится управляемым перезапуском, уходят и пустышки.
  4. Считайте по коммиту (PrivateUsage), а не по резиденту.
  5. Зависание снимайте через procdump -ma; готовый дамп полного типа передавайте в поддержку 1С, а не разбирайте сами.

 

Из той же серии про эксплуатацию. Падения рабочих процессов разбираются по дампам, а вот интеграционный слой ломается иначе: за год в проде мы ни разу не упёрлись в производительность, зато трижды словили дефекты, которые копятся с аптаймом и на стенде не воспроизводятся. Разбор - Год с 1С:Шиной в проде: что ломается на длинном аптайме.

Другие наши инструменты диагностики 1С

Вступайте в нашу телеграмм-группу Инфостарт

дампы 1С аварийный дамп rphost падает exception information not found minidump logcfg.xml type=0 WinDbg srvinfo dumps нехватка памяти рабочего процесса ACCESS_VIOLATION диагностика 1С администрирование

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

HighLoad оптимизация Администрирование СУБД Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Бухгалтерский учет Бесплатно (free)

После миграции с MS SQL на PostgreSQL закрытие месяца в 1С:ERP стало идти 8 часов вместо 12 минут. Рассказываем, как мы нашли причину в оценке Hash Join, которую планировщик завышал в миллионы раз, и как исправили её так, что проблемный запрос теперь выполняется за 18 секунд вместо часа.

19.10.2026    929    Tantor    0    

10

Администрирование СУБД HighLoad оптимизация Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Россия Бесплатно (free)

Большинство материалов о компрессии в PostgreSQL отвечают на вопрос «во сколько раз удалось уменьшить базу». Мы предлагаем посмотреть на проблему с другой стороны — какой ценой достигается эта экономия? В статье разбираем архитектурные компромиссы различных подходов к компрессии страниц, объясняем, почему при разработке CSM в Tantor Postgres отказались от погони за максимальным коэффициентом сжатия, и показываем результаты нагрузочных испытаний на реальных базах 1С.

01.10.2026    1430    Tantor    6    

17

DevOps и автоматизация разработки Администрирование СУБД Групповая разработка (Git, хранилище) Разработчик 1С 8.3 Абонемент ($m)

В корпоративных инсталляциях «1С:Предприятие 8.3» под управлением PostgreSQL всё чаще проявляются архитектурные пределы масштабирования: рост числа пользователей, обязательная маркировка, плотный поток API-интеграций и высокая стоимость простоя. Вводная часть цикла разбирает ключевые факторы современной эксплуатационной нагрузки и формирует инженерную методологию эволюционной модернизации без остановки продуктивного контура. Материал основан на практическом кейсе «Торговый контур» и показывает, как определить целевые метрики (p95, MTTR, APDEX), выстроить наблюдаемость, стабилизировать работу кластера и подготовить инфраструктуру к дальнейшему масштабированию. Публикация задаёт фундамент для последующих частей, посвящённых телеметрии, оптимизации PostgreSQL, CI/CD и архитектурному росту.

1 стартмани

10.09.2026    1506    Ninel_S    0    

6

HighLoad оптимизация Администрирование СУБД Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Бесплатно (free)

В рамках 18 релиза СУБД Tantor Postgres мы рассказывали об оптимизациях, которые помогают планировщику сделать более точный выбор между Nested Loop и Hash Join. В следующем релизе у нас планируются оптимизации, которые позволят ускорить выполнение как Nested Loop, так и Hash Join. Сегодня мы расскажем об одном из таких методов - фильтре Блума.

31.08.2026    6106    Tantor    3    

18

Администрирование СУБД Системный администратор Разработчик 1С 8.3 Бесплатно (free)

Мы подготовили для сообщества Infostart.ru практическое занятие, в котором каждый желающий сможет: научиться собирать реальные данные о процессах кластера 1С; выявлять «перестарков» — процессы старше периода и без соединений; выполнять безопасный перезапуск (с dry-run и подтверждением); настраивать автоматическую проверку через systemd на Linux; отправлять уведомления (Telegram, почта) при обнаружении проблем; работать с логами, ротацией, профилями кластеров и конфигурацией; развернуть полноценный учебный проект AdminClusterMonitor у себя в тестовой среде.

30.08.2026    1718    Ninel_S    2    

6

Администрирование СУБД Системный администратор 1С:Предприятие 8 Бесплатно (free)

На infostart.ru вышел разбор Ивана Недомолкова «Сервер 1С падает: настройка сбора дампов (logcfg.xml), лимиты памяти и передача дампа в поддержку» - это хорошая инструкция, как ловить и разбирать падение rphost постфактум: logcfg.xml, procdump, анализ дампа. Но там нет ответа на вопрос «а почему кластер вообще прибил процесс сам, ещё до всякого краша». Мы дополняем разбор тремя сводными таблицами лимитов памяти и автомасштабирования кластера - и заодно фиксируем, чем в этой части лицензия ПРОФ урезана относительно КОРП.

12.08.2026    2344    Ninel_S    5    

6

Администрирование СУБД Системный администратор Разработчик Бесплатно (free)

5,5 тысячи пользователей в единой базе 1С, розница в режиме 24/7 и SLA 99,98% – в таких условиях любая авария быстро превращается в очереди на кассах, потерю денег и давление со стороны бизнеса. Показываем, как выстроить процесс аварийно-восстановительных работ: от первых алертов и базового скрининга системы до подключения команды, проверки гипотез и дебрифа после инцидента. Разбираем, как метрики, дашборды, техжурнал, Zabbix, Prometheus, Grafana, Telegram-боты и скрипты помогают не гадать, а быстро находить причину проблемы. На реальных авариях объясняем, почему «быстро» не должно означать «рискованно», как работа над ошибками снижает панику и почему каждая авария может сделать систему надежнее.

11.08.2026    3393    jul.dolganova    9    

24
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Ninel_S 214 13.08.26 11:49 Сейчас в теме
2. nedomolkov.ivan 485 13.08.26 12:30 Сейчас в теме
3. Ninel_S 214 16.08.26 23:13 Сейчас в теме
Одно дело делаем, Коллега ;-)
Вот файл, может быть кому-то из коллег пригодится.
Прикрепленные файлы:
stability-guide-v2.pdf
Для отправки сообщения требуется регистрация/авторизация