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

18.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 раз в сутки» сужает поиск.
  • Окружение: версии ОС и СУБД, их разрядность, установленные внешние компоненты, сколько узлов в кластере.

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

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

 

Симптом Что сделать (штатно)
Дампы собираются, но «пустые», причину не видно Поднимите 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% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

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

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

11.08.2026    1536    jul.dolganova    8    

21

Администрирование СУБД Пароли Системный администратор 1С 8.3 1С:Розница 2 1С:Управление производственным предприятием Абонемент ($m)

Пароль пользователя СУБД лежит в 1CV8Clst.lst обратимо: кто читает папку srvinfo - достаёт пароли SQL всех баз кластера, минуя права 1С. Обработка показывает, у каких баз пароль извлекается, помечает слабые и выдаёт план защиты. К СУБД не подключается, ничего не пишет - только читает файл.

10 стартмани

06.08.2026    668    12    nedomolkov.ivan    0    

7

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

Прогнал набор диагностических скриптов на двух рабочих базах: боевой с 580 сеансами и малонагруженной. Разбираю пять находок: статистика 97-дневной давности, 598 запросов со сканами, журнал транзакций в 73 % от данных, tempdb в один файл и 81 % ожиданий на параллелизме, который чинить не надо. Плюс три грабли, из-за которых самописный диагностический скрипт падает на чужом сервере. Семь рабочих скриптов внутри, копируются в SSMS как есть.

05.08.2026    942    nedomolkov.ivan    8    

7

Администрирование СУБД Журнал регистрации Системный администратор Программист 1С 8.3 Бесплатно (free)

Журнал регистрации на нагруженной базе перестаёт открываться: файлы растут на гигабайты в день, просмотр виснет, история недоступна. Рассказываю, как мы вынесли журнал трёх продуктивных баз в ClickHouse: 35 млрд событий, поиск всех ошибок за сутки — 0,11 секунды, привычная форма журнала для пользователей и падение числа ошибок в проде в 23 раза за полгода. Архитектура, схема таблицы, грабли интеграции и все цифры с прода.

04.08.2026    1125    nedomolkov.ivan    0    

8

Администрирование СУБД 1С 8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

База 1С:ERP размером 646 Гб, полное маскирование за 5 часов - без создания промежуточной незащищенной копии. Разбираем бесплатный pg_anon на сквозном примере с реального продуктива.

27.07.2026    2380    Tantor    16    

13

HighLoad оптимизация Администрирование СУБД Программист Россия Бесплатно (free)

Если вы работаете с 1С на PostgreSQL и жалуетесь на тормоза — скорее всего, дело в join predicate pushdown, которого в стандартном PostgreSQL нет. В MS SQL Server этот механизм работает «из коробки», и при миграции именно запросы к виртуальным таблицам 1С бьют по производительности сильнее всего. В этой статье — реальный кейс от Postgres Professional с разбором плана выполнения, ручным экспериментом и доработкой планировщика СУБД, которая ускорила запросы от 22 до 54 000 раз.

16.06.2026    8645    postgres_professional    13    

12

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

Вышел релиз СУБД Tantor Postgres 18, и мы хотим рассказать о его новых возможностях для работы с приложениями на платформе "1С:Предприятие". В обзоре разберем улучшения планировщика, по традиции коснемся работы временных таблиц и не обойдем вниманием вспомогательные утилиты, которые упрощают поиск и диагностику проблем в высоконагруженных системах. За каждым пунктом - реальные запросы 1С, реальные рабочие базы и сотни часов тестирования!

16.06.2026    3308    Tantor    7    

10

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

База 1С за несколько лет эксплуатации разрослась, - стала большой, медленно работает, требует много места и времени для копирования и прочего обслуживания. Нужна ли обязательно свертка или можно обойтись более «мягкими» средствами. Делюсь своим опытном как для новых конфигураций, так и для старых УПП, УТ 10…

01.06.2026    7999    2ncom    30    

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