Почему процесс rphost загружает процессор и как решить проблему с высокой нагрузкой на сервер 1С

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

При эксплуатации сервера 1С:Предприятие администраторы часто сталкиваются с ситуацией, когда процесс rphost.exe вызывает скачки загрузки процессора от 30% до 80–100% даже при небольшом числе активных сеансов или сразу после запуска службы агента. Проанализируем основные причины такого поведения сервера и разберем по шагам, как локализовать и устранить эту проблему.

Анализ записей технологического журнала: ложный след SprScndInfo

При просмотре технологического журнала в момент высокой нагрузки часто обнаруживаются ошибки следующего вида:

EXCP,3,process=rphost, Exception=..., Descr="src\DataSeparationService.cpp: Файл не обнаружен 'v8srvr://.../Files/SprScndInfo'"

Выясним природу этой записи. Данная ошибка не является причиной высокой нагрузки на процессор. Запись в технологическом журнале вида SprScndInfo отражает штатную внутреннюю проверку платформы 1С. При обращении к информационной базе сервер опрашивает внутреннюю таблицу Files на предмет наличия служебных данных о разделении конфигурации (Data Separation). Если в базе не используются разделители, платформа генерирует низкоуровневое исключение, которое штатно обрабатывается внутри рабочего процесса. Искать причину зависания ЦП в этой ошибке не требуется.

Влияние частоты процессора и режимов энергосбережения

Одной из главных аппаратных причин скачков загрузки rphost.exe является снижение рабочей частоты процессора процессора из-за активных функций энергосбережения (троттлинг, C-States, Intel SpeedStep/EIST).

Платформа 1С критично относится к однопоточной производительности. Если процессор с базовой частотой 2.0 GHz снижает множитель до минимум (например, множитель x12 при частоте ядра около 1.2 GHz), любая базовая операция платформы — обработка фоновых задач, опрос контекстов, проверка прав — утилизирует доступный квант процессорного времени на 80–100%.

Проанализируем шаги по устранению этой проблемы:

  1. Настройка BIOS/UEFI сервера: переведем профиль управления питанием сервера в режим максимальной производительности (High Performance или Static High Performance). Отключим состояния энергосбережения C-States (C1E, C3, C6) и технологии динамического снижения частоты Intel SpeedStep / EIST.
  2. Настройка электропитания в ОС Windows Server: откроем панель управления электропитанием и установим план «Высокая производительность» (High Performance). Убедимся, что минимальное состояние процессора установлено в 100%.
  3. Проверка парковки ядер (Core Parking): отключим механизм парковки ядер процессора, чтобы ОС не уводила ядра в спящий режим под небольшой нагрузкой.

Диагностика процессов и потоков 1С

Чтобы точно определить, какой именно поток внутри rphost.exe создает нагрузку на процессоры, разберем порядок действий с помощью системных утилит и инструментов 1С:

  1. Проверка падений процессов: скачкообразная нагрузка может возникать из-за постоянного аварийного завершения и перезапуска процесса rphost.exe. Проверим журнал событий Windows (Event Viewer) на наличие ошибок завершения приложения.
  2. Анализ потоков через Process Explorer: откроем свойства процесса rphost.exe на вкладке Threads. Отсортируем потоки по колонке CPU и посмотрим ID потока, потребляющего ресурсы.
  3. Настройка технологического журнала 1С: настроим сбор событий CALL, CPUCALL и SDBL с отбором по времени процессора CpuTime. Это позволит увидеть, какая именно процедура или фоновое задание в коде 1С задействует процессор.
  4. Снятие дампов памяти: с помощью утилиты ProcDump можно настроить автоматическое создание дампа памяти при превышении порога загрузки CPU: procdump.exe -ma -c 70 -s 5 rphost.exe

Очистка кэша и оптимизация параметров кластера 1С

Повреждение структуры временных файлов и кэша сеансов в каталоге кластера srvinfo приводит к циклическому чтению диска и перегреву потоков rphost. Выполним безопасную очистку кэша кластера 1С по шагам:

  1. Остановим службу агента сервера 1С:Предприятие (1C:Enterprise 8.3 Server Agent).
  2. Перейдем в каталог реестра кластера (по умолчанию C:\Program Files\1cv8\srvinfo).
  3. Очистим временные папки сеансов и кэша внутри каталогов информационных баз (папки вида snccntx* и временные файлы). Не удаляйте главные конфигурационные файлы 1cv8wsrv.lst и 1cv8reg.lst.
  4. Запустим службу агента сервера 1С.

Также рекомендуется проверить настройки перезапуска процессов в консоли администрирования кластера 1С. Установка интервала перезапуска процессов и ограничений по объему виртуальной памяти позволяет предотвратить накопление ошибок в длительно работающих процессах rphost.exe.

← На главную