К статье
Практический материал

Администрирование · 10 мин

Сколько памяти нужно серверу 1С

Как рассчитать объём оперативной памяти для сервера 1С: требования платформы, учёт числа пользователей, размера базы, СУБД и типичные ошибки при выборе конфигурации.

Объём оперативной памяти — первый параметр, который определяет, будет ли сервер 1С работать стабильно или пользователи столкнутся с зависаниями, отказами в обслуживании и ошибками «недостаточно памяти». Недооценка потребности в RAM — самая частая причина жалоб на «тормозящую» 1С даже на новом оборудовании.

Универсальной цифры не существует: потребление памяти зависит от числа одновременных пользователей, размера информационной базы, версии платформы, используемой СУБД и набора конфигураций. Однако есть проверенные на практике ориентиры и методика расчёта, которые позволяют подобрать конфигурацию без лишних затрат и без риска нехватки ресурсов.

Что расходует память на сервере 1С

Чтобы считать осознанно, нужно понимать, кто потребляет RAM. На типовом сервере 1С память делят четыре потребителя: операционная система, кластер серверов 1С (рабочие процессы rphost), СУБД (MS SQL Server, PostgreSQL или другая) и служебные процессы — антивирус, системы резервного копирования, мониторинг.

Рабочие процессы rphost — главный потребитель. Каждый такой процесс обслуживает сеансы пользователей и может занимать от сотен мегабайт до нескольких гигабайт в зависимости от нагрузки. Тяжёлые операции — проведение крупных документов, формирование объёмных отчётов, групповые обработки — вызывают резкие всплески потребления.

СУБД тоже агрессивно использует память: она кэширует данные и индексы, чтобы ускорить запросы. MS SQL Server по умолчанию стремится занять всю доступную память, поэтому без явного ограничения max server memory он «отъест» ресурсы у кластера 1С, и система начнёт уходить в подкачку.

Минимальные и рекомендуемые ориентиры по числу пользователей

Ориентиры ниже относятся к серверу, на котором одновременно работают кластер 1С и СУБД (типовая схема для малого и среднего бизнеса). Если СУБД вынесена на отдельную машину, память делится между серверами пропорционально ролям.

Количество пользователейМинимальный объём RAMРекомендуемый объём
До 58–12 ГБ16 ГБ
5–1516 ГБ24–32 ГБ
15–3032 ГБ48–64 ГБ
30–6064 ГБ96–128 ГБ
60–150128 ГБ192–256 ГБ
Более 150256 ГБРасчёт индивидуально, часто кластер из нескольких серверов

Эти цифры — отправная точка, а не норматив. Тяжёлые конфигурации (ERP, комплексная автоматизация) потребляют заметно больше памяти на сеанс, чем лёгкие (небольшая самописная база или базовая «Бухгалтерия»). Размер базы тоже влияет: чем больше данных хочет кэшировать СУБД, тем больше памяти оправдано.

Как рассчитать память по формуле

Практичный способ расчёта — сложить потребности всех потребителей и добавить запас. Порядок такой:

  1. Операционная система и служебное ПО: заложите 2–4 ГБ для Windows Server, 1–2 ГБ для Linux.
  2. Кластер 1С: ориентируйтесь на 200–400 МБ на активный сеанс в типовых конфигурациях, до 500–800 МБ в тяжёлых (ERP). Умножьте на пиковое число одновременных пользователей.
  3. СУБД: выделите 50–70% от оставшегося объёма, но не меньше 8 ГБ для базы заметного размера.
  4. Запас: добавьте 20–30% сверху на пиковые операции — закрытие месяца, обмены данными, регламентные задания.

Пример: 30 пользователей «Управления торговлей», база 40 ГБ, всё на одном сервере. ОС — 4 ГБ, кластер — 30 × 0,4 ГБ ≈ 12 ГБ, СУБД — около 24–32 ГБ, запас — 10–12 ГБ. Итог: 64 ГБ — разумная конфигурация, 48 ГБ — впритык.

Порядок расчёта
  1. 1
    Определите пиковое число одновременных пользователей и тип конфигурации
  2. 2
    Заложите 2–4 ГБ на ОС и служебное ПО
  3. 3
    Рассчитайте память кластера: 0,3–0,8 ГБ на сеанс в зависимости от тяжести конфигурации
  4. 4
    Выделите СУБД 50–70% остатка, минимум 8 ГБ
  5. 5
    Добавьте запас 20–30% и округлите до доступного модуля памяти

Настройка ограничений: чтобы компоненты не мешали друг другу

Недостаточно поставить нужный объём памяти — её нужно правильно поделить. Без ограничений СУБД и рабочие процессы будут конкурировать, и в пиковый момент система уйдёт в файл подкачки, что для пользователей выглядит как полное зависание.

Для MS SQL Server обязательно задайте параметр max server memory так, чтобы после него оставалось достаточно для ОС и кластера 1С. Для кластера 1С полезно настроить ограничение объёма памяти рабочих процессов и перезапуск процессов при превышении порога — это защищает от утечек памяти в прикладном коде.

sql
EXEC sp_configure 'max server memory (MB)', 24576;
RECONFIGURE;

Также проверьте настройки кластера в консоли администрирования: параметры «Допустимый объём памяти» и «Интервал перезапуска» для рабочих процессов позволяют автоматически освобождать память от «разросшихся» rphost без остановки работы пользователей.

Признаки нехватки памяти и как проверить результат

Нехватка RAM проявляется характерными симптомами: резкое замедление всех операций при росте числа пользователей, ошибки «Недостаточно памяти» в клиентских приложениях, аварийные завершения рабочих процессов, активное использование файла подкачки.

Проверить ситуацию можно штатными средствами: диспетчер задач или Performance Monitor в Windows, top/htop и free в Linux. Ключевые показатели — общий процент занятой памяти, объём свободной памяти, интенсивность обращений к диску подкачки и потребление по процессам rphost и sqlservr/postgres.

Контрольные точки

Как проверить результат

Свободная память в пиковые часы
Норма

Остаётся 10–15% свободной RAM, своп почти не используется

Тревожный признак

Свободно менее 5%, активная запись в файл подкачки

Процессы rphost
Норма

Стабильное потребление без постоянного роста, перезапуски редки

Тревожный признак

Процессы растут до предела и аварийно перезапускаются

Отзывчивость у пользователей
Норма

Отчёты и проведение выполняются без резких пауз

Тревожный признак

Массовые жалобы на зависания в часы пик

Типичные ошибки при выборе объёма памяти

Самая распространённая ошибка — ориентироваться только на текущее число пользователей без запаса на рост. Компания из 10 человек через год превращается в 25, сервер начинает «захлёбываться», а апгрейд памяти в арендованном виртуальном сервере может оказаться дорогим или ограниченным тарифом.

Вторая ошибка — считать только кластер 1С и забывать про СУБД. В итоге SQL Server забирает почти всю память, а рабочим процессам не хватает. Третья — игнорировать фоновые задачи: регламентные задания, обмены и резервное копирование создают пиковую нагрузку, которая не видна в обычное время.

Типичные ошибки
01
Покупка памяти «впритык» без запаса 20–30% — сервер деградирует при любом росте нагрузки
02
Отсутствие ограничения max server memory у SQL Server — СУБД вытесняет кластер 1С в своп
03
Один rphost на всех пользователей — при его падении отключаются все сеансы
04
Игнорирование 32-разрядных ограничений — лишняя память физически не используется
05
Оценка нагрузки по среднему, а не по пиковому числу сеансов

Один сервер или разделение ролей

Для небольших внедрений (до 20–30 пользователей) размещение кластера 1С и СУБД на одном сервере — нормальная и экономичная практика, если память рассчитана с запасом и ограничения настроены. Это упрощает администрирование и резервное копирование.

При росте нагрузки разделение ролей даёт предсказуемость: сервер СУБД получает максимум памяти под кэш данных, а сервер приложений 1С — под рабочие процессы. Такую схему стоит рассматривать при 50+ пользователях, больших базах или когда требуется высокая доступность.

Сравнение вариантов

Всё на одном сервере

Подходит до 20–30 пользователей. Дешевле и проще, но компоненты конкурируют за память, нужны жёсткие ограничения.

Отдельный сервер СУБД и сервер 1С

Подходит от 30–50 пользователей и крупных баз. Предсказуемое распределение памяти, но выше затраты и сложнее администрирование.

Виртуальная машина в облаке

Гибкое масштабирование RAM по мере роста. Следите за тем, чтобы гипервизор не «отбирал» память у ВМ в пике.

Прежде чем докупать память, снимите показания счётчиков за неделю: часто «нехватка RAM» на деле оказывается неоптимальными запросами или отсутствующими индексами, и проблема решается настройкой, а не железом.
ПЗ
Практическое замечание

Часто задаваемые вопросы

Хватит ли 8 ГБ для сервера 1С на 5 пользователей?

Для файловой базы или лёгкой конфигурации с 3–5 пользователями 8 ГБ может хватить, но запаса не останется: ОС и СУБД займут значительную часть. Практичный минимум с перспективой роста — 16 ГБ.

Сколько памяти отдать SQL Server, если всё стоит на одной машине?

Оставьте 4–6 ГБ для ОС и рассчитанный объём для кластера 1С, остальное отдайте СУБД через max server memory. Например, при 64 ГБ и 20 пользователях разумно ограничить SQL примерно на 40–44 ГБ.

Почему сервер с большим объёмом RAM всё равно тормозит?

Память — не единственный фактор. Частые причины: медленные диски под базу, неоптимальные запросы и отсутствие индексов, неограниченный рост rphost, 32-разрядная платформа. Сначала проверьте счётчики производительности и только потом добавляйте ресурсы.

Нужно ли перезапускать рабочие процессы 1С для освобождения памяти?

Да, это нормальная практика. В консоли кластера настройте перезапуск rphost при превышении порога памяти или по расписанию в нерабочее время — это защищает от накопления утечек в прикладном коде.

Меняются ли требования к памяти при переходе на новую версию платформы?

Как правило, новые версии платформы и конфигураций потребляют больше памяти на сеанс. Перед обновлением на боевом сервере проверьте нагрузку на тестовом стенде и заложите запас 20–30%.

Можно ли компенсировать нехватку RAM быстрым диском под своп?

Нет. Файл подкачки даже на NVMe на порядки медленнее оперативной памяти: при активном свопе 1С практически перестаёт отвечать. Своп — аварийный буфер, а не замена RAM.

Итог

Что важно запомнить

Считайте память по формуле: ОС + сеансы пользователей + СУБД + запас 20–30%. Ограничьте max server memory, настройте перезапуск rphost, используйте 64-разрядные версии и проверяйте результат по счётчикам в пиковые часы. Для 10–15 пользователей ориентир — 24–32 ГБ, для 30–60 — 96–128 ГБ.