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

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

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

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

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

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

Практический ориентир для небольших внедрений: 16 ГБ — минимум для клиент-серверной работы, 32–64 ГБ — комфортный диапазон для базы на 20–50 пользователей, свыше 128 ГБ — территория крупных внедрений с сотнями одновременных сеансов. Но это лишь стартовые точки: ниже разберём, как посчитать требования под вашу ситуацию и как проверить, что памяти действительно не хватает.

От чего зависит потребление памяти в 1С

На объём необходимой оперативной памяти влияют пять факторов. Первый — режим работы: файловый или клиент-серверный. Второй — количество одновременно активных пользователей, причём важны именно активные сеансы, а не число лицензий. Третий — размер информационной базы и объём данных, с которыми работают пользователи ежедневно: проведение документов, построение отчётов, обмены.

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

Отдельно учитывайте характер конфигурации. Тяжёлые решения вроде ERP с управленческими расчётами и большими отчётами потребляют заметно больше памяти на сеанс, чем компактная «Бухгалтерия». Один сеанс пользователя в рабочем процессе rphost может занимать от 100–300 МБ в лёгких конфигурациях до 1 ГБ и более при сложных операциях.

Сколько памяти нужно при разных режимах работы

Файловый режим

В файловом режиме база лежит в общей папке, а вся обработка данных выполняется на компьютерах пользователей. Выделенный сервер здесь фактически работает как файловое хранилище, и его потребности в памяти скромны: операционной системе и файловому кэшу обычно достаточно 8–16 ГБ. При этом критичнее быстрые диски и стабильная сеть.

Важно помнить об ограничениях самого файлового режима: он предназначен для небольших групп и не масштабируется. Если пользователей больше десятка и база активно растёт, добавление памяти на сервере проблему производительности не решит — нужен переход на клиент-серверную архитектуру.

Клиент-серверный режим: сервер 1С и СУБД на одной машине

Самый распространённый вариант для малого и среднего бизнеса — одна машина, на которой установлены и агент сервера 1С, и СУБД. Здесь память делится между тремя потребителями: операционной системой (зарезервируйте 2–4 ГБ), рабочими процессами rphost (по числу пользователей и тяжести конфигурации) и СУБД (основная доля).

Для такой схемы разумные ориентиры: 16 ГБ — нижняя граница для 5–10 пользователей с небольшой базой; 32 ГБ — комфортно для 15–30 пользователей; 64 ГБ — для 30–60 пользователей или баз размером в десятки гигабайт. Если после настройки СУБД свободной памяти почти не остаётся и система начинает активно использовать файл подкачки — объём нужно увеличивать.

Разнесение сервера 1С и СУБД на разные машины

При росте нагрузки сервер 1С и сервер баз данных разносят. Тогда серверу приложений обычно хватает 16–32 ГБ (память нужна под rphost и ОС), а основная память концентрируется на сервере СУБД. Такая схема упрощает масштабирование: память добавляется туда, где её реально не хватает, что видно по мониторингу.

Сравнение вариантов размещения

Файловый режим

Подходит для 1–10 пользователей; 8–16 ГБ на сервере-хранилище достаточно, но режим не масштабируется.

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

Оптимально для 10–60 пользователей; нужно 32–64 ГБ и грамотное ограничение памяти СУБД.

Раздельные серверы

Для высоких нагрузок; 16–32 ГБ на сервер 1С, основная память — на сервере СУБД. Дороже и сложнее в администрировании.

Как рассчитать объём памяти под свою нагрузку

Практическая формула расчёта для совмещённого сервера выглядит так: память СУБД + память рабочих процессов 1С + резерв под операционную систему. Для СУБД ориентир — размер «горячей» части базы: данных и индексов, с которыми идёт ежедневная работа. Если вся база занимает 40 ГБ, но активно используется треть, СУБД желательно выделить 12–20 ГБ под кэш.

Для процессов сервера 1С используйте оценку: число одновременно активных пользователей, умноженное на средний расход памяти на сеанс. В типовых конфигурациях разумно закладывать 150–300 МБ на лёгкий сеанс и до 1 ГБ на сеанс с тяжёлыми отчётами. Для 30 пользователей это даёт примерно 6–12 ГБ под rphost с запасом.

Сложив компоненты, добавьте 20–25% запаса на пиковые нагрузки: закрытие месяца, массовые перепроведения, обновления конфигурации. Именно в эти периоды недостаток памяти проявляется острее всего — сеансы зависают, а процессы могут аварийно завершаться.

СценарийПользователейРекомендуемый объём ОЗУКомментарий
Файловый режимдо 108–16 ГБКритичнее диски и сеть, чем память
Клиент-сервер, всё на одной машине5–1516–32 ГБМинимум для стабильной работы СУБД
Клиент-сервер, всё на одной машине15–5032–64 ГБТиповой диапазон для среднего офиса
Клиент-сервер, крупная база50–15064–128 ГБЖелательно разнесение 1С и СУБД
Высоконагруженные внедрения150+от 128 ГБТребуется индивидуальный расчёт и тестирование
Порядок расчёта памяти
  1. 1
    Определите режим работы: файловый или клиент-серверный, совмещённый или разнесённый.
  2. 2
    Узнайте размер информационной базы и оцените объём активно используемых данных.
  3. 3
    Посчитайте число одновременно активных пользователей в часы пик.
  4. 4
    Заложите память под СУБД, процессы rphost и операционную систему, добавьте запас 20–25%.
  5. 5
    После внедрения проверьте фактическое потребление через мониторинг и скорректируйте настройки.

Настройка памяти СУБД: где чаще всего ошибаются

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

Правильный подход — явно ограничить максимальный объём памяти для СУБД, оставив место остальным компонентам. На совмещённом сервере с 32 ГБ разумная стартовая конфигурация: 18–22 ГБ под SQL Server, остальное — под rphost и ОС. Точное значение подбирается по наблюдению: если у сервера 1С не хватает памяти, лимит СУБД уменьшают, если страдают запросы — увеличивают.

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

Для PostgreSQL, популярного в связке с 1С на Linux, ключевые параметры — shared_buffers и effective_cache_size. Их тоже не оставляют в значениях по умолчанию: shared_buffers обычно устанавливают в районе четверти объёма ОЗУ, а effective_cache_size — ближе к половине или двум третям, чтобы планировщик запросов учитывал реальный объём кэша.

Как понять, что памяти не хватает

Недостаток памяти проявляется характерными симптомами, которые легко спутать с другими проблемами. Первый признак — активное использование файла подкачки: система выгружает данные на диск, и даже быстрый SSD не компенсирует разницу в скорости с ОЗУ. Второй — аварийные завершения рабочих процессов rphost с ошибками нехватки памяти в технологическом журнале.

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

Для диагностики используйте штатные средства: диспетчер задач или Performance Monitor в Windows, утилиты top, htop и free в Linux, консоль кластера серверов 1С для наблюдения за процессами rphost, динамические административные представления СУБД для анализа буферного кэша. Разовый снимок малоинформативен — наблюдайте динамику хотя бы в течение рабочего дня.

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

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

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

Есть доступный резерв, система не выходит в подкачку

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

Свободных мегабайт почти нет, активно растёт файл подкачки

Использование памяти процессами rphost
Норма

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

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

Процессы раздуваются и периодически падают с ошибками

Попадания в буферный кэш СУБД
Норма

Подавляющее большинство чтений обслуживается из памяти

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

Много физических чтений с диска даже в обычной работе

Скорость отклика в пиковые часы
Норма

Замедление незначительно относительно обычного времени

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

Сеансы зависают, пользователи массово жалуются

Типичные ошибки и ограничения

Первая ошибка — покупать память «с запасом», не настроив СУБД. Если лимиты не выставлены, дополнительные гигабайты просто съедаются буферным пулом, а реальная проблема (например, неоптимальные запросы или отсутствие индексов) остаётся. Память лечит симптом, но не заменяет оптимизацию.

Вторая ошибка — экономить на сервере, разворачивая 1С на виртуальной машине с динамической памятью или оверселлингом ресурсов у хостера. Гипервизор может «отбирать» память в пиковые моменты, и никакой мониторинг внутри гостевой системы не покажет истинную причину тормозов. Для продуктивной 1С память виртуальной машины должна быть зарезервирована.

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

Типичные ошибки
01
Не ограничить память СУБД — буферный пул занимает всё, серверу 1С и ОС не хватает ресурса в пиковые моменты.
02
Оценивать нагрузку по числу лицензий, а не по фактически активным сеансам — расчёт оказывается неточным в обе стороны.
03
Добавлять память вместо оптимизации запросов и индексов — расходы растут, а узкое место остаётся.
04
Использовать виртуальную машину без резервирования памяти — гипервизор отбирает ресурс именно в часы пик.
05
Забыть про регламентные задания и обмены — ночные или пиковые фоновые процессы внезапно съедают весь запас памяти.

Проверка после настройки и FAQ

После добавления памяти или изменения настроек зафиксируйте результат: сравните время выполнения типовых операций (проведение крупных документов, построение ключевых отчётов) до и после, понаблюдайте за потреблением памяти в течение нескольких рабочих дней, включая периоды пиковой нагрузки. Только так можно отличить реальное улучшение от временного эффекта.

Итог

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

Считайте память по компонентам: СУБД, рабочие процессы 1С, операционная система, плюс запас 20–25%. Ориентиры: 16 ГБ — минимум для клиент-серверной работы, 32–64 ГБ — типовой объём для десятков пользователей. Обязательно ограничивайте память СУБД и проверяйте результат мониторингом.

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

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

Что важнее для сервера 1С: память или быстрые диски?

Оба компонента критичны, но они не заменяют друг друга. Память уменьшает обращения к диску за счёт кэширования, а быстрые диски (SSD/NVMe) ускоряют те обращения, которые всё же происходят. Если памяти мало, даже самый быстрый накопитель не спасёт от подкачки и деградации производительности.

Как узнать, сколько памяти реально потребляет сервер 1С сейчас?

Посмотрите суммарное потребление процессов rphost, ragent и rmngr в диспетчере задач или через top/htop, добавьте память, занятую процессом СУБД, и сравните с общим объёмом ОЗУ. Для детальной картины по сеансам используйте консоль кластера серверов 1С.

Нужно ли выключать файл подкачки, если памяти много?

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

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

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

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

Облако упрощает масштабирование — память можно добавить без покупки оборудования, — но не отменяет расчёта: за каждый гигабайт там платят ежемесячно, поэтому завышенная конфигурация превращается в постоянные лишние расходы. Методика оценки нагрузки остаётся той же.