При эксплуатации сервера 1С:Предприятие администраторы часто сталкиваются с ситуацией, когда процесс rphost.exe вызывает скачки загрузки процессора от 30% до 80–100% даже при небольшом числе активных сеансов или сразу после запуска службы агента. Проанализируем основные причины такого поведения сервера и разберем по шагам, как локализовать и устранить эту проблему.
При просмотре технологического журнала в момент высокой нагрузки часто обнаруживаются ошибки следующего вида:
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%.
Проанализируем шаги по устранению этой проблемы:
High Performance или Static High Performance). Отключим состояния энергосбережения C-States (C1E, C3, C6) и технологии динамического снижения частоты Intel SpeedStep / EIST.Чтобы точно определить, какой именно поток внутри rphost.exe создает нагрузку на процессоры, разберем порядок действий с помощью системных утилит и инструментов 1С:
rphost.exe. Проверим журнал событий Windows (Event Viewer) на наличие ошибок завершения приложения.rphost.exe на вкладке Threads. Отсортируем потоки по колонке CPU и посмотрим ID потока, потребляющего ресурсы.CALL, CPUCALL и SDBL с отбором по времени процессора CpuTime. Это позволит увидеть, какая именно процедура или фоновое задание в коде 1С задействует процессор.
procdump.exe -ma -c 70 -s 5 rphost.exe
Повреждение структуры временных файлов и кэша сеансов в каталоге кластера srvinfo приводит к циклическому чтению диска и перегреву потоков rphost. Выполним безопасную очистку кэша кластера 1С по шагам:
1C:Enterprise 8.3 Server Agent).C:\Program Files\1cv8\srvinfo).snccntx* и временные файлы). Не удаляйте главные конфигурационные файлы 1cv8wsrv.lst и 1cv8reg.lst.Также рекомендуется проверить настройки перезапуска процессов в консоли администрирования кластера 1С. Установка интервала перезапуска процессов и ограничений по объему виртуальной памяти позволяет предотвратить накопление ошибок в длительно работающих процессах rphost.exe.