Чёрный пояс 1С. Три новые задачи senior-уровня + разбор rphost на Linux | infolimp.ru

Чёрный пояс 1С. Три новые задачи senior-уровня: Linux-кластер, MCP-мультиарендность, PostgreSQL deadlock

24 августа 2026 · infolimp.ru · Чёрный пояс 1С

Сегодня в пул токен-платформы добавлены три новые задачи уровня Senior/Architect (сложность 5 из 5) - на основе реальных технических «болей», которые всплывают не сразу, а спустя месяцы после того, как решение уже прошло приёмку. Ниже - короткий анонс всех трёх и полный разбор первой: утечка памяти rphost на Linux-кластере, с примером диалога с AI-помощником nopikreport.com прямо в процессе диагностики.

Три новые задачи

ЗадачаКатегорияОчки
Аварийное завершение rphost при неконтролируемом росте дампов памяти на Linux-кластере 1С
Спустя полгода после запуска фонового импорта каталогов через 1С:РПД сервер под Linux начал регулярно ронять rphost, а диск - заполняться полными дампами при каждом сбое.
Администрирование120
Нарушение изоляции данных в SaaS при интеграции ИИ-ассистента на базе MCP
После подключения сотен новых арендаторов к мультиарендной базе ИИ-помощник на MCP-сервере начал цитировать в ответах конфиденциальные данные чужих организаций.
Интеграции120
Массовые deadlock на PostgreSQL при интеграции с маркетплейсами
После миграции с MS SQL Server на PostgreSQL в периоды распродаж пошли массовые блокировки СУБД - платформы ведут себя по-разному при отсутствующих индексах для внешних ключей.
Разработка 1С120
Задачи уже опубликованы в общем пуле - решать можно анонимно, без регистрации. Открыть список задач →

Разбор: утечка памяти rphost на Linux-кластере

Условие. Спустя полгода после запуска масштабного фонового импорта каталогов товаров и обработки первичных документов через 1С:РПД рабочий сервер 1С:Предприятие 8.3 под Linux начал регулярно зависать и аварийно завершать процессы rphost в периоды пиковых нагрузок. Диск стремительно заполняется гигабайтами файлов полных дампов памяти. Лимиты памяти rphost в консоли кластера стоят по умолчанию, файл технологического журнала logcfg.xml отсутствует - поэтому при каждом сбое пишется полный (full) дамп, а не лёгкий.

Что нужно на выходе: рабочий logcfg.xml, настроенный на mini-dump; изменённые параметры кластера, предотвращающие бесконтрольное падение; скрипт ротации дампов.

1. logcfg.xml: mini-dump вместо полного

Формат технологического журнала 1С фиксированный - корневой элемент <config xmlns="http://v8.1c.ru/v8/tech-log">, а не произвольная схема. Рабочий вариант я уже разбирал в отдельном выпуске «Мёртвый кэш и утечка памяти rphost» - там же разбор, почему полный дамп (full dump) на боевом сервере опасен и как ограничиться mini-dump через диспетчер задач/procdump на Windows или gdb/gcore на Linux. Дубли платформенной документации в конце статьи не пересказываю - смотрите по ссылке.

2. Параметры рабочего сервера в консоли кластера

Чтобы rphost не падал бесконтрольно, а мягко перезапускался при утечке, в свойствах рабочего сервера задаются: «Временно допустимый объём памяти процессов», «Критический объём памяти процессов» и явный «Интервал перезапуска проблемных процессов» (по умолчанию отложенный мягкий перезапуск выключен, пока администратор не задаст интервал сам - это разбиралось в выпуске про лимиты памяти rphost и разницу ПРОФ/КОРП).

3. Ротация дампов на Linux

#!/bin/bash
# Ротация дампов rphost: хранить не больше N последних файлов
# и не давать каталогу расти бесконтрольно
DUMP_DIR="/var/log/1c/dumps"
MAX_FILES=10
MAX_TOTAL_MB=5120

find "$DUMP_DIR" -maxdepth 1 -name "*.dmp" -printf '%T@ %p\n' | sort -rn | \
  awk -v max="$MAX_FILES" 'NR>max {print $2}' | xargs -r rm -f

while [ "$(du -sm "$DUMP_DIR" | cut -f1)" -gt "$MAX_TOTAL_MB" ]; do
  oldest=$(find "$DUMP_DIR" -maxdepth 1 -name "*.dmp" -printf '%T@ %p\n' | sort -n | head -1 | cut -d' ' -f2-)
  [ -z "$oldest" ] && break
  rm -f "$oldest"
done

Ставится в cron раз в час; порог MAX_TOTAL_MB держите ниже, чем «minFreeSpacePercent» в мониторинге диска, чтобы скрипт срабатывал раньше, чем закончится место.

Диалог с AI-помощником nopikreport.com

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

Диалог с nopikreport.com (AI-помощник)
Вопрос: Какие параметры рабочего сервера в консоли кластера 1С отвечают за то, чтобы rphost не падал бесконтрольно при утечке памяти, а мягко перезапускался?
Ответ: Ключевые параметры - «Критический объём памяти для процессов» (максимум памяти на один rphost, при превышении менеджер кластера инициирует принудительный перезапуск), «Допустимый объём памяти для процессов» (более мягкий порог-предвестник), флаг «Перезапускать проблемные процессы» (без него превышение лимита просто пишется в журнал, но перезапуска не будет) и «Интервал перезапуска проблемных процессов» - защита от постоянного перезапуска сразу после старта (thrashing).
Важно при использовании AI-помощника на реальной задаче: в этом же диалоге на смежный вопрос про содержимое logcfg.xml AI-помощник предложил схему с корневым элементом <log-config> и атрибутом dumpType="mini" - это НЕ формат технологического журнала 1С (реальный формат см. в разделе 1 выше и в выпуске «Мёртвый кэш»). Мы намеренно не публикуем этот фрагмент ответа как пример - именно чтобы показать: AI-помощник экономит время на формулировках и параметрах, которые легко перепроверить по разным независимым вопросам, но финальную конфигурацию для прод-сервера всегда сверяйте с платформенной документацией, а не копируете вслепую.

О конвейере

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

Решите любую из трёх задач анонимно - без резюме и регистрации. Токен - это ваша анонимная подпись под решением.

Выбрать задачу →