Почему зависает 64-битный сервер 1С при запуске на Windows 10 и как это исправить

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

При развертывании серверной версии 1С:Предприятие на операционных системах семейства Windows 10 пользователи часто сталкиваются с ситуацией, когда служба ragent запущена, но само приложение «зависает» на этапе заставки или выбора информационной базы. В диспетчере задач процесс отображается в статусе «Не отвечает», потребляя минимальное количество ресурсов. Проанализируем причины такого поведения и разберем по шагам методы решения этой проблемы.

Шаг 1. Анализ прав пользователя и параметров запуска службы

Первым делом проверим, от имени какого пользователя запускается служба сервера 1С. По умолчанию при установке создается локальный пользователь USR1CV8, но в условиях Windows 10 (особенно если компьютер находится в домене или имеет специфические политики безопасности) этого может быть недостаточно. Выясним, имеет ли данный пользователь права на запись в каталоги сервера.

Рассмотрим стандартную строку запуска службы, которую можно увидеть в свойствах 1C:Enterprise 8.3 Server Agent (x86-64):

"C:\Program Files\1cv8\8.3.12.1790\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"

Проанализируем ключевые моменты:

  1. Убедимся, что пользователь, от имени которого работает служба, имеет полные права на папку, указанную в параметре -d (в данном случае это C:\Program Files\1cv8\srvinfo).
  2. Попробуем временно изменить пользователя службы на Local System (Локальная система) или Администратор. Если после этого сервер «оживет», значит, проблема была в недостаточных правах доступа к файловой системе или реестру.

Шаг 2. Настройка сетевых протоколов и приоритета IPv6

Одной из скрытых причин зависания 1С на Windows 10 является конфликт с протоколом IPv6. Система может пытаться разрешить имя сервера через IPv6, что приводит к длительным таймаутам. Разберем, как принудительно направить трафик через IPv4.

Проверим файл hosts, расположенный по пути C:\Windows\System32\drivers\etc\hosts. Проанализируем его содержимое и убедимся, что локальный адрес прописан явно:


127.0.0.1 localhost
# Закомментируйте или удалите строку ::1 localhost, если она есть

Также рекомендуется в свойствах сетевого адаптера отключить компонент «IP версии 6 (TCP/IPv6)».

Шаг 3. Конфигурация системы предотвращения выполнения данных (DEP)

Системный механизм DEP может блокировать работу 64-битных процессов rphost.exe или rmngr.exe, воспринимая их активность как потенциальную угрозу. В этом случае процесс «висит» в памяти, но не выполняет никаких операций.

Рассмотрим, как добавить 1С в исключения:

  1. Откроем «Свойства системы» -> «Дополнительно» -> «Производительность» -> «Параметры».
  2. Перейдем на вкладку «Предотвращение выполнения данных».
  3. Выберем пункт «Включить DEP для всех программ и служб, кроме выбранных ниже» и добавим исполняемые файлы ragent.exe, rmngr.exe и rphost.exe из каталога bin вашей версии платформы.

Шаг 4. Оптимизация поиска лицензий (HASP и программные ключи)

Если служба запущена, но «виснет» именно клиентская часть при попытке входа, скорее всего, система тратит время на поиск ключа защиты. В 64-битных средах этот процесс может занимать несколько минут. Выясним, как ускорить этот процесс через файл nnhasp.ini.

Найдем или создадим файл nnhasp.ini в папке C:\Program Files\1cv8\conf и пропишем в нем жесткие параметры поиска сервера лицензий:


[NH_COMMON]
NH_TCPIP = ENAB

[NH_TCPIP]
NH_SERVER_ADDR = 127.0.0.1 ; Укажите IP сервера, где стоит ключ
NH_TCPIP_METHOD = TCP
NH_USE_BROADCAST = DISAB ; Отключаем широковещательный поиск

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

Шаг 5. Очистка кэша сервера и перерегистрация компонентов

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

regsvr32 "C:\Program Files\1cv8\8.3.12.1790\bin\comcntr.dll"

После этого выполним полную очистку серверного кэша:

  1. Остановим службу 1C:Enterprise 8.3 Server Agent.
  2. Перейдем в каталог C:\Program Files\1cv8\srvinfo.
  3. Удалим (или переименуем для бэкапа) папки с длинными именами-идентификаторами баз (вида reg_1541), оставив только пустую структуру. Внимание: это сбросит список баз в консоли администрирования, их нужно будет добавить заново.
  4. Запустим службу.

Шаг 6. Использование технологического журнала для глубокой диагностики

Если вышеуказанные шаги не помогли, нам необходимо выяснить причину зависания с помощью Технологического журнала (ТЖ). Создадим в папке C:\Program Files\1cv8\conf файл logcfg.xml со следующим содержанием:


<config xmlns="http://v8.1c.ru/7.4/config/logcfg">
  <log location="C:\1c_logs" history="2">
    <event>
      <eq property="name" value="EXCP"/>
    </event>
    <event>
      <eq property="name" value="PROC"/>
    </event>
    <property name="all"/>
  </log>
</config>

Проанализируем файлы, которые появятся в папке C:\1c_logs после попытки запуска. Особое внимание уделим событиям EXCP (исключения) и длительным операциям. Часто там можно увидеть конкретную ошибку обращения к памяти или сетевому порту, что укажет на истинную причину проблемы.

Заключение

Зависание 64-битного сервера на Windows 10 — это чаще всего вопрос настройки окружения, а не ошибка в коде платформы. Сочетание правильных прав доступа, настройки nnhasp.ini и отключение лишних сетевых протоколов в 90% случаев решает проблему и обеспечивает стабильную работу системы 1С:Предприятие.

← На главную