Какая у вас разрядность сервера 1С: проверяем за пять минут

· 9 мин

Содержание

Быстрее всего узнать разрядность сервера 1С так: откройте диспетчер задач, найдите процессы ragent.exe и rphost.exe и посмотрите, есть ли у них пометка «32 бита». Нет пометки — сервер 64-разрядный. Второй надёжный признак: папка установки. В C:\Program Files\1cv8 стоит 64-разрядная платформа, в C:\Program Files (x86)\1cv8 — 32-разрядная.

Вопрос возникает не из любопытства. Обычно всё начинается с ошибки вроде «Недостаточно памяти » на тяжёлом закрытии месяца. Или с внешней компоненты, которая отказывается подключаться к серверу. Или перед обновлением, когда нужно решить, переезжать ли на 64 бита.

Ниже — все способы определить разрядность: для Windows и Linux, с консоли и без неё. Отдельно разберём, чем различаются разрядность сервера, клиента и операционной системы. Это три разные величины, и путаница между ними — главный источник ошибок.

Сначала разберитесь, что именно вы проверяете

Слово «разрядность» в 1С относится к трём разным вещам. Их часто смешивают.

Что проверяемГде смотретьНа что влияет
Операционная система сервераСвойства компьютера, systeminfoКакую платформу вообще можно поставить
Серверные процессы 1С (ragent, rmngr, rphost)Диспетчер задач, путь к файламЛимит памяти рабочих процессов, совместимость компонент
Клиент 1С (1cv8.exe, 1cv8c.exe)Диспетчер задач на рабочем месте, окно «О программе»Работа внешних компонент и драйверов на клиенте

На 64-разрядной Windows спокойно живёт 32-разрядный сервер 1С. Обратное невозможно: на 32-разрядную систему 64-разрядную платформу не поставить. Поэтому строка «x64» в systeminfo ещё ничего не говорит о самом сервере.

Клиент и сервер могут быть разной разрядности. 32-разрядный клиент подключается к 64-разрядному серверу без проблем: общаются они по сети. Проблемы начинаются с компонентами и драйверами, которые загружаются внутрь процесса.

Диспетчер задач Windows: самый быстрый способ

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

  1. Нажмите Ctrl+Shift+Esc или щёлкните правой кнопкой по панели задач и выберите «Диспетчер задач».
  2. Если окно маленькое, нажмите «Подробнее».
  3. На вкладке «Процессы» найдите ragent.exe, rmngr.exe и rphost.exe. Если 1С запущена как служба, ищите их в группе «Фоновые процессы».
  4. Посмотрите на имя процесса: у 32-разрядных в Windows 10 и новее добавлено «(32 бита)», в Windows 7 и Server 2008 R2 — «*32».

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

Колонка «Архитектура» на вкладке «Подробности»

Если помета в имени не видна, откройте вкладку «Подробности». Щёлкните правой кнопкой по заголовку таблицы, выберите «Выбрать столбцы» и отметьте «Архитектура» (в части сборок Windows столбец называется «Платформа»). Для rphost.exe будет написано x64 или x86.

Не путайте серверные процессы с клиентскими. Если вы нашли только 1cv8.exe или 1cv8c.exe, это клиент. Серверную разрядность они не показывают, ищите ragent.

Если процессов ragent.exe в списке нет, значит, сервер не запущен. Либо 1С работает в файловом режиме, и сервера у вас просто нет. Проверьте оснастку «Службы»: служба называется «Агент сервера 1С:Предприятия 8.3».

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

Этот способ хорош тем, что работает даже при остановленной службе. Он же — самый однозначный.

  1. Откройте оснастку «Службы» (services.msc).
  2. Найдите «Агент сервера 1С:Предприятия 8.3», откройте свойства.
  3. В поле «Исполняемый файл» скопируйте путь к ragent.exe.

Читайте путь так:

  • C:\Program Files\1cv8\8.3.xx.xxxx\bin\ragent.exe — 64 бита;
  • C:\Program Files (x86)\1cv8\8.3.xx.xxxx\bin\ragent.exe — 32 бита.

Если платформа поставлена в нестандартную папку, путь ничего не скажет. Тогда смотрите свойства самого файла. Щёлкните по ragent.exe правой кнопкой и откройте «Свойства». Сама разрядность на вкладке «Подробно» не указана, но можно открыть файл через диспетчер задач после запуска или воспользоваться командой PowerShell из следующего раздела.

На сервере часто стоят несколько версий платформы одновременно. Проверяйте ту, которую запускает служба, а не ту, что первой нашлась в папке. Номер версии виден прямо в пути.

Командная строка и PowerShell: разрядность одной командой

Ручной просмотр хорош для одного сервера. Когда их пять, проще скриптом.

Что покажет systeminfo

Команда systeminfo выводит сведения о системе. Нужная строка — «Тип системы»:

systeminfo | findstr /C:"Тип системы"

Результат x64-based PC означает 64-разрядную Windows. Повторим: это разрядность ОС, а не платформы 1С. Но если вы увидели x86-based PC, вопрос закрыт сразу: 64-разрядного сервера 1С здесь быть не может.

Узнать разрядность запущенного процесса

Путь к файлу работающего процесса берётся одной командой PowerShell:

Get-Process ragent | Select-Object Id, Path

Для всех серверных процессов сразу:

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

Дальше читаем путь так же, как в предыдущем разделе: Program Files (x86) — 32 бита, Program Files — 64 бита. Для проверки самой системы работает короткая запись:

[Environment]::Is64BitOperatingSystem

Ответ True — ОС 64-разрядная.

Через tasklist

Если PowerShell недоступен, подойдёт классическая команда:

tasklist /fi "imagename eq rphost.exe" /fo list

Она покажет идентификатор процесса и занятую память. Разрядность напрямую не выведет, зато по цифрам видно потолок: 32-разрядный rphost упирается примерно в 2 ГБ и редко превышает их, а 64-разрядный растёт дальше.

Потребление памяти как косвенный признак

Разрядность не всегда видна по названию, а вот поведение выдаёт её хорошо.

32-разрядный процесс может адресовать ограниченный объём памяти: порядка 2 ГБ по умолчанию и до 4 ГБ при особых настройках системы. Когда рабочий процесс подходит к этой границе, начинаются характерные симптомы:

  • 🧱 ошибки «Недостаточно памяти» и «Не хватает виртуальной памяти» при проведении больших документов;
  • 🔄 рабочий процесс внезапно перезапускается, пользователей выбрасывает из сеансов;
  • 📈 в мониторе ресурсов rphost.exe растёт до одной и той же цифры и дальше не идёт;
  • 🐌 при этом на сервере свободно много оперативной памяти: она просто недоступна процессу.

Последний пункт самый показательный. Если в диспетчере задач занято 14 ГБ из 32, а rphost умирает на 1,8 ГБ, вы почти наверняка работаете на 32-разрядной платформе.

Как проверить цифры спокойно: откройте «Монитор ресурсов» (resmon), вкладку «Память», отсортируйте по столбцу «Рабочий набор» и следите за rphost.exe во время тяжёлой операции. Пиковые значения запишите. Они пригодятся при планировании переезда.

Настройки кластера: что покажет консоль администрирования

Консоль серверов 1С (оснастка «Администрирование серверов 1С:Предприятия») напрямую разрядность не показывает. Но в ней видно версию платформы рабочего сервера и ограничения по памяти, а они косвенно подсказывают, как настроен кластер.

  1. Запустите консоль и подключитесь к центральному серверу.
  2. Раскройте «Центральные серверы 1С:Предприятия» и ваш кластер.
  3. Откройте «Рабочие серверы» и свойства нужного сервера.
  4. Посмотрите номер версии. Он совпадает с номером в пути к ragent.exe, то есть вы определите папку, а по ней — разрядность.

В тех же свойствах есть два параметра, которые стоит сверить с реальным потолком памяти:

  • «Допустимый объём памяти рабочих процессов» — при превышении процесс завершается;
  • «Безопасный расход памяти за один вызов» — ограничивает один вызов.

Если на 32-разрядной платформе эти значения заданы больше 2 ГБ, они бессмысленны: процесс упадёт раньше, чем сработает лимит. Это ещё одна подсказка, что настройки писали «на вырост», а платформа осталась старой.

То же можно получить из командной строки утилитой администрирования rac (входит в поставку серверной платформы, лежит в той же папке bin). Запуск rac cluster list покажет кластеры. Разрядность и тут определяется по пути к самой утилите, потому что rac поставляется в комплекте с платформой.

Linux: проверка в терминале

На Linux диспетчера задач нет, но есть более простые способы. Серверная платформа ставится в /opt/1cv8/, а внутри лежит папка по архитектуре.

  1. Посмотрите структуру каталога:
ls /opt/1cv8/
  1. Каталог x86_64 означает 64-разрядную платформу, i386 — 32-разрядную.
  2. Узнайте, какой процесс сейчас работает, и откуда он запущен:
ps -ef | grep ragent
  1. Точный ответ даёт утилита file:
file /opt/1cv8/x86_64/8.3.xx.xxxx/ragent

В выводе будет ELF 64-bit или ELF 32-bit. Номер версии подставьте свой.

Разрядность самой системы покажет uname -m: x86_64 — 64-разрядная, i686 или i386 — 32-разрядная. Современные дистрибутивы почти всегда 64-разрядные, но проверить не лишнее: на старых виртуальных машинах попадаются сюрпризы.

Для 1С на Linux путь к ragent зависит от того, как платформу ставили: из пакетов или установщиком. Если в /opt/1cv8/ пусто, ищите командой find / -name ragent 2>/dev/null и смотрите на результат.

Если оказалось 32 бита: стоит ли переезжать и что сломается

Короткий ответ: если у вас нагруженная база, переезжать стоит. 64-разрядный сервер не ограничен потолком в 2 ГБ на процесс, а значит, тяжёлые закрытия месяца, большие отчёты и обмены перестанут падать по нехватке памяти. Лицензии при этом остаются теми же: ключ и сервер лицензирования от разрядности не зависят.

Но не всё переносится без потерь. Смотрите на четыре места.

Что проверитьРиск после переходаЧто делать
Внешние компоненты (Native API, COM)32-разрядная компонента не загрузится в 64-разрядный процессЗапросить у разработчика 64-разрядную сборку
ODBC-драйверы и клиентские библиотеки СУБДНужны 64-разрядные версии, настройки источников данных отдельныеПоставить драйвер и создать источник данных в 64-разрядном администраторе ODBC
Внешние обработки с вызовом DLLБиблиотека может не подойти по разрядностиПроверить на тестовой копии
Оборудование (торговое, весы, сканеры)Драйверы чаще 32-разрядныеИспользуйте клиент 32 бита, сервер можно 64

Последняя строка — важный практический нюанс. Торговое оборудование подключается на клиенте, а не на сервере. Поэтому сервер переводят на 64 бита, а рабочие места с оборудованием оставляют на 32-разрядном клиенте.

Порядок безопасного перехода

  1. Сделайте полную копию баз и резервную копию кластера.
  2. Поставьте 64-разрядную платформу той же версии рядом с 32-разрядной, не удаляя старую.
  3. Создайте тестовый кластер на другом порту и подключите копию рабочей базы.
  4. Прогоните самые тяжёлые операции и все обмены.
  5. Только после этого переключайте службу на новый ragent.exe.

Не удаляйте 32-разрядную платформу до успешной проверки: откат в этом случае занимает минуты, а не часы.

Перед переводом сервера 1С на 64 бита
Выполнено: 0 / 6

Типичные ошибки при определении и миграции

Здесь собраны сбои, которые не вошли в основные шаги.

Диагностика: выберите симптом

Частые вопросы

Можно ли смешивать 32-разрядный клиент и 64-разрядный сервер?
Да. Клиент и сервер общаются по сети, их разрядность независима. Ограничения касаются только компонент, которые загружаются внутрь клиентского процесса.
Нужен ли новый ключ лицензии при переходе на 64 бита?
Нет. Программные и аппаратные ключи работают с обеими разрядностями. Перерегистрировать лицензии не нужно.
Как узнать разрядность клиента на рабочем месте?
Откройте диспетчер задач при запущенной 1С. У 32-разрядного клиента в имени процесса 1cv8.exe или 1cv8c.exe будет пометка «(32 бита)». Путь Program Files (x86) тоже означает 32 бита.
Что делать, если на сервере стоит и 32-, и 64-разрядная платформа?
Проверьте, какую запускает служба: путь в её свойствах. Вторая установка просто занимает место. Если она не нужна, удалите её после проверки.
Поможет ли 64-разрядная платформа, если не хватает оперативной памяти на самом сервере?
Нет. Она снимает лимит процесса, но физическую память не добавляет. Если оперативной памяти не хватает, нужно увеличить её объём или оптимизировать нагрузку.