Разрядность сервера 1С:Предприятие — критически важный параметр, влияющий на производительность, совместимость с клиентскими приложениями и возможность использования более 4 ГБ оперативной памяти. Ошибка в определении архитектуры (x86 vs x64) может привести к сбоям при установке обновлений, некорректной работе кластера или даже невозможности запуска базы. Особенно актуальна эта проблема для администраторов, мигрирующих со старых версий платформы или настраивающих распределённую инфраструктуру.

Многие ошибочно полагают, что разрядность сервера всегда совпадает с разрядностью операционной системы. Однако сервер 1С может работать в 32-битном режиме даже на 64-битной ОС, если была установлена соответствующая версия дистрибутива. В этой статье разберём все доступные методы проверки — от визуальных до программных, с учётом особенностей Windows и Linux-систем.

———

1. Проверка через Диспетчер задач Windows

Самый быстрый способ для серверов под управлением Windows Server — использовать встроенный Диспетчер задач. Этот метод не требует прав администратора и работает даже на удалённом рабочем столе (RDP).

Откройте Диспетчер задач комбинацией клавиш Ctrl + Shift + Esc или через контекстное меню панели задач. Перейдите на вкладку Подробности и найдите в списке процессы:

  • 🔹 ragent.exe — агент сервера 1С
  • 🔹 rmngr.exe — менеджер кластера
  • 🔹 rphost.exe — рабочий процесс

В колонке Платформа будет указано:

  • 📌 32-bit — если процесс работает в режиме x86
  • 📌 64-bit — если процесс 64-битный
⚠️ Внимание: На серверах с гибридной установкой (например, 32-битный сервер 1С на 64-битной ОС) в Диспетчере задач могут отображаться процессы обеих архитектур. В этом случае ориентируйтесь на rmngr.exe — его разрядность определяет архитектуру кластера.

Если колонки Платформа нет, кликните правой кнопкой по заголовку таблицы и добавьте её через меню Выбрать столбцы.

2. Командная строка: tasklist и wmic

Для автоматизации проверки или удалённого выполнения подходит командная строка. Два универсальных метода:

Способ 1. Команда tasklist

tasklist /FI "IMAGENAME eq rphost.exe" /FI "IMAGENAME eq rmngr.exe" /FI "IMAGENAME eq ragent.exe" /V

В выводе ищите столбец Platform. Значения:

  • 🔹 32-bit — x86
  • 🔹 64-bit — x64

Способ 2. Команда wmic (работает на всех версиях Windows)

wmic process where "name='rphost.exe' or name='rmngr.exe' or name='ragent.exe'" get name,executablepath

Обратите внимание на путь к исполняемому файлу:

  • 📁 C:\Program Files (x86)\1cv8\... — 32-битная версия
  • 📁 C:\Program Files\1cv8\... — 64-битная версия
📊 Какой метод проверки вы используете чаще?
Диспетчер задач
Командная строка
Реестр Windows
Скрипты PowerShell
Другое

3. Проверка через реестр Windows

Реестр хранит информацию о установленных версиях 1С, включая разрядность. Этот метод полезен, если процессы сервера не запущены.

Откройте редактор реестра (regedit) и перейдите по пути:

HKEY_LOCAL_MACHINE\SOFTWARE\1C\1Cv8\8.x\Server\

Где 8.x — версия платформы (например, 8.3). Ищите параметры:

  • 🔹 InstallLocation — путь к каталогу установки (аналогично wmic)
  • 🔹 Platform — может содержать значение x64 или x86

Для 32-битных приложений на 64-битной ОС проверьте дополнительный раздел:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\1C\1Cv8\8.x\Server\
⚠️ Внимание: В некоторых версиях 1С параметр Platform может отсутствовать. В этом случае ориентируйтесь исключительно на путь установки (Program Files vs Program Files (x86)).

☑️ Проверка через реестр

Выполнено: 0 / 5

4. Анализ файловой системы

Если у вас есть доступ к файловой системе сервера, разрядность можно определить по путям установки и названиям файлов.

Ключевые признаки 32-битной версии:

  • 📁 Каталог установки: C:\Program Files (x86)\1cv8\
  • 📄 Наличие файлов с суффиксом _x86 (например, 1cv8_x86.msi)

Признаки 64-битной версии:

  • 📁 Каталог установки: C:\Program Files\1cv8\
  • 📄 Файлы без суффиксов или с _x64 (например, 1cv864.msi)

Также проверьте свойства исполняемых файлов (ragent.exe, rmngr.exe):

  1. Кликните правой кнопкой по файлу → Свойства → вкладка Совместимость.
  2. Если есть галочка Запускать программу в режиме совместимости с указанием Windows XP или Windows 7 (32-bit), это косвенно указывает на x86-версию.
Признак 32-bit (x86) 64-bit (x64)
Путь установки Program Files (x86) Program Files
Суффиксы файлов _x86, 32 _x64, 64 или без суффикса
Реестр (WOW6432Node) Присутствует Отсутствует
Диспетчер задач 32-bit 64-bit

5. Проверка на Linux-сервере

Для серверов под управлением Linux (например, Ubuntu, CentOS, Astra Linux) используйте команду file, которая анализирует бинарные файлы.

Перейдите в каталог установки 1С (обычно /opt/1C/v8.3/x86_64/ или /opt/1C/v8.3/i386/) и выполните:

file ragent

file rmngr

file rphost

Возможные результаты:

  • 🐧 ELF 32-bit LSB executable — 32-битная версия
  • 🐧 ELF 64-bit LSB executable — 64-битная версия

Также проверьте путь установки:

  • 📁 /opt/1C/v8.3/i386/ — x86
  • 📁 /opt/1C/v8.3/x86_64/ — x64
⚠️ Внимание: На некоторых дистрибутивах Linux (например, Debian) путь может отличаться. Используйте команду find / -name "ragent" 2>/dev/null для поиска исполняемых файлов.
Ubuntu/Debian: sudo apt install file CentOS/RHEL: sudo yum install file-->

6. Скрипты PowerShell для автоматизации

Для администраторов, управляющих несколькими серверами, удобно использовать PowerShell-скрипты. Ниже пример скрипта, который проверяет разрядность всех процессов 1С и выводит отчёт:

Get-Process -Name ragent,rmngr,rphost | Select-Object Name, Id, Path, @{

Name="Platform"

Expression={

if ($_.Path -like "(x86)") {"32-bit"}

elseif ($_.Path -like "Program Files" -and $_.Path -notlike "(x86)") {"64-bit"}

else {"Unknown"}

}

}

Как использовать:

  1. Скопируйте скрипт в блокнот и сохраните как Check-1CBit.ps1.
  2. Запустите PowerShell от имени администратора.
  3. Выполните команду: Set-ExecutionPolicy RemoteSigned -Scope Process (разрешает выполнение скриптов).
  4. Запустите скрипт: .\Check-1CBit.ps1.

Для удалённого выполнения на нескольких серверах используйте:

Invoke-Command -ComputerName Server1,Server2 -ScriptBlock { Get-Process -Name ragent,rmngr,rphost | Select Name,Id,Path }
Как проверить разрядность 1С на кластере с балансировкой?

На кластерах с балансировкой нагрузки (например, через NLB или HAProxy) проверяйте разрядность на каждом рабочем узле отдельно. Централизованных инструментов для определения архитектуры всего кластера нет — данные собираются вручную или через скрипты инвентаризации (например, Ansible или Puppet).

7. Косвенные признаки разрядности

Если прямой доступ к серверу ограничен, разрядность можно определить по косвенным признакам:

Через консоль администрирования 1С:

  • 🖥️ Запустите 1CV8Admin.exe (из папки установки сервера).
  • 🖥️ В меню Серверы 1С:Предприятия выберите ваш кластер.
  • 🖥️ В свойствах кластера может отображаться версия платформы с указанием разрядности (например, 8.3.21.1234 (x64)).

Через журнал событий Windows:

  • 📜 Откройте eventvwr.msc (Просмотр событий).
  • 📜 Перейдите в Журналы Windows → Приложение.
  • 📜 Найдите события от источника 1C:Enterprise 8.3 Server Agent. В описании некоторых событий может упоминаться разрядность (например, при ошибках совместимости).

Через лицензии:

  • 🔑 64-битные серверы 1С требуют лицензий с поддержкой x64 (указано в договоре или личном кабинете 1C:Лицензирование).
  • 🔑 Если у вас лицензия типа 1C:Предприятие 8. Сервер (x86), то сервер однозначно 32-битный.
⚠️ Внимание: Косвенные методы менее надёжны. Например, в консоли администрирования разрядность может не отображаться в старых версиях платформы (до 8.3.10). Всегда перепроверяйте данные прямыми методами.
💡

Если на сервере установлены обе версии 1С (x86 и x64), приоритет имеет та, которая запущена в данный момент. Чтобы избежать конфликтов, рекомендуется удалить неиспользуемую версию или настроить отдельные кластеры для каждой архитектуры.

FAQ: Частые вопросы о разрядности сервера 1С

Может ли 32-битный сервер 1С работать на 64-битной Windows?

Да, это поддерживается через подсистему WOW64 (Windows 32-bit on Windows 64-bit). Однако такой сервер не сможет использовать более 4 ГБ оперативной памяти на процесс и может работать медленнее из-за эмуляции.

Как узнать разрядность сервера 1С удалённо без RDP?

Используйте:

  • 🔌 PsExec из пакета Sysinternals для удалённого выполнения tasklist:
  • psexec \\server_name tasklist /FI "IMAGENAME eq rphost.exe" /V
  • 🔌 PowerShell Remoting (WinRM):
  • Invoke-Command -ComputerName server_name -ScriptBlock { (Get-Process rmngr).MainModule.FileName }

Влияет ли разрядность сервера на разрядность клиентов?

Нет, сервер и клиенты могут иметь разную разрядность. Например:

  • 🖥️ 64-битный сервер + 32-битные тонкие клиенты — работает.
  • 🖥️ 32-битный сервер + 64-битные клиенты — работает, но возможны ограничения по памяти.

Однако для веб-клиента и мобильного приложения рекомендуется 64-битный сервер из-за большего потребления ресурсов.

Как обновить 32-битный сервер до 64-битного?

Прямого обновления нет. Необходимо:

  1. Установить 64-битную версию сервера 1С параллельно.
  2. Перенести информационные базы через резервное копирование/восстановление.
  3. Настроить кластер заново (конфигурации не совместимы!).
  4. Обновить лицензии (если используются аппаратные ключи HASP, проверьте их совместимость).

Важно: Перед миграцией протестируйте работу баз на тестовом 64-битном сервере — некоторые внешние компоненты (например, драйверы оборудования) могут не поддерживать x64.

Почему в Диспетчере задач отображается "32-bit" для rphost.exe, если сервер 64-битный?

Это нормально, если:

  • 🔄 На сервере запущены 32-битные рабочие процессы для совместимости с устаревшими базами.
  • 🔄 Используется гибридный кластер (например, менеджер x64, агенты x86).

Проверьте разрядность rmngr.exe — она определяет архитектуру кластера.