Администрирование · 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 | Рекомендуемый объём |
|---|---|---|
| До 5 | 8–12 ГБ | 16 ГБ |
| 5–15 | 16 ГБ | 24–32 ГБ |
| 15–30 | 32 ГБ | 48–64 ГБ |
| 30–60 | 64 ГБ | 96–128 ГБ |
| 60–150 | 128 ГБ | 192–256 ГБ |
| Более 150 | 256 ГБ | Расчёт индивидуально, часто кластер из нескольких серверов |
Эти цифры — отправная точка, а не норматив. Тяжёлые конфигурации (ERP, комплексная автоматизация) потребляют заметно больше памяти на сеанс, чем лёгкие (небольшая самописная база или базовая «Бухгалтерия»). Размер базы тоже влияет: чем больше данных хочет кэшировать СУБД, тем больше памяти оправдано.
Как рассчитать память по формуле
Практичный способ расчёта — сложить потребности всех потребителей и добавить запас. Порядок такой:
- Операционная система и служебное ПО: заложите 2–4 ГБ для Windows Server, 1–2 ГБ для Linux.
- Кластер 1С: ориентируйтесь на 200–400 МБ на активный сеанс в типовых конфигурациях, до 500–800 МБ в тяжёлых (ERP). Умножьте на пиковое число одновременных пользователей.
- СУБД: выделите 50–70% от оставшегося объёма, но не меньше 8 ГБ для базы заметного размера.
- Запас: добавьте 20–30% сверху на пиковые операции — закрытие месяца, обмены данными, регламентные задания.
Пример: 30 пользователей «Управления торговлей», база 40 ГБ, всё на одном сервере. ОС — 4 ГБ, кластер — 30 × 0,4 ГБ ≈ 12 ГБ, СУБД — около 24–32 ГБ, запас — 10–12 ГБ. Итог: 64 ГБ — разумная конфигурация, 48 ГБ — впритык.
- 1Определите пиковое число одновременных пользователей и тип конфигурации
- 2Заложите 2–4 ГБ на ОС и служебное ПО
- 3Рассчитайте память кластера: 0,3–0,8 ГБ на сеанс в зависимости от тяжести конфигурации
- 4Выделите СУБД 50–70% остатка, минимум 8 ГБ
- 5Добавьте запас 20–30% и округлите до доступного модуля памяти
Настройка ограничений: чтобы компоненты не мешали друг другу
Недостаточно поставить нужный объём памяти — её нужно правильно поделить. Без ограничений СУБД и рабочие процессы будут конкурировать, и в пиковый момент система уйдёт в файл подкачки, что для пользователей выглядит как полное зависание.
Для MS SQL Server обязательно задайте параметр max server memory так, чтобы после него оставалось достаточно для ОС и кластера 1С. Для кластера 1С полезно настроить ограничение объёма памяти рабочих процессов и перезапуск процессов при превышении порога — это защищает от утечек памяти в прикладном коде.
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%, активная запись в файл подкачки
Стабильное потребление без постоянного роста, перезапуски редки
Процессы растут до предела и аварийно перезапускаются
Отчёты и проведение выполняются без резких пауз
Массовые жалобы на зависания в часы пик
Типичные ошибки при выборе объёма памяти
Самая распространённая ошибка — ориентироваться только на текущее число пользователей без запаса на рост. Компания из 10 человек через год превращается в 25, сервер начинает «захлёбываться», а апгрейд памяти в арендованном виртуальном сервере может оказаться дорогим или ограниченным тарифом.
Вторая ошибка — считать только кластер 1С и забывать про СУБД. В итоге SQL Server забирает почти всю память, а рабочим процессам не хватает. Третья — игнорировать фоновые задачи: регламентные задания, обмены и резервное копирование создают пиковую нагрузку, которая не видна в обычное время.
Один сервер или разделение ролей
Для небольших внедрений (до 20–30 пользователей) размещение кластера 1С и СУБД на одном сервере — нормальная и экономичная практика, если память рассчитана с запасом и ограничения настроены. Это упрощает администрирование и резервное копирование.
При росте нагрузки разделение ролей даёт предсказуемость: сервер СУБД получает максимум памяти под кэш данных, а сервер приложений 1С — под рабочие процессы. Такую схему стоит рассматривать при 50+ пользователях, больших базах или когда требуется высокая доступность.
Сравнение вариантов
Подходит до 20–30 пользователей. Дешевле и проще, но компоненты конкурируют за память, нужны жёсткие ограничения.
Подходит от 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 ГБ.