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

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

Сколько памяти нужно для работы 1С

Сколько оперативной памяти нужно для 1С: требования для файловой и клиент-серверной версии, расчёт ОЗУ для сервера 1С и SQL, признаки нехватки памяти.

Объём оперативной памяти — один из главных факторов скорости работы 1С. При нехватке ОЗУ программа начинает тормозить: медленно открываются документы, долго формируются отчёты, пользователи жалуются на «подвисания». При этом избыточная память денег не вернёт — важно подобрать объём под реальную нагрузку, а не покупать «с запасом на всякий случай».

Универсальной цифры не существует: требования зависят от режима работы (файловый или клиент-серверный), количества пользователей, размера базы и конфигурации. Бухгалтерия с тремя пользователями и большой ERP на сотню рабочих мест — принципиально разные задачи с разницей в требованиях на порядок.

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

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

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

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

Файловый режим — самый лёгкий сценарий: база хранится в файле 1Cv8.1CD, а вся обработка происходит на компьютере пользователя. Здесь требования определяются клиентской машиной. Для комфортной работы одного пользователя с типовой конфигурацией (Бухгалтерия, Управление торговлей) достаточно 8 ГБ ОЗУ, если на компьютере больше ничего ресурсоёмкого не запущено. С учётом браузера, офисных программ и антивируса практичный минимум — 16 ГБ.

Если файловая база размещена в общей папке и с ней работают 3–5 человек, главным узким местом становится не память, а диск и сеть. Но и здесь на каждом клиентском компьютере должно быть не меньше 8 ГБ. Отдельная ситуация — публикация файловой базы на веб-сервере или работа через RDP на терминальном сервере: тогда память считается уже по терминальным правилам, о которых ниже.

Признак того, что файловой базе тесно: размер 1Cv8.1CD превышает 4–5 ГБ, операции записи документов заметно замедляются, при одновременной работе возникают конфликты блокировок. В этой точке памятью проблему уже не решить — пора переходить на клиент-серверный режим.

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

В клиент-серверном режиме память нужна двум компонентам: серверу 1С:Предприятия (процессы rphost) и серверу СУБД. Часто они размещаются на одной физической машине, и тогда её ресурсы делятся между ними.

Практический ориентир для расчёта:

  • базовая потребность сервера 1С — около 2–4 ГБ на инфраструктуру и кластер;
  • примерно 0,3–1 ГБ на каждого активного пользователя в зависимости от конфигурации (ERP и «тяжёлые» решения — ближе к верхней границе);
  • СУБД — желательно выделить объём, сопоставимый с размером активно используемой части базы, чтобы «горячие» данные лежали в кэше.

Пример: база на 20 пользователей с конфигурацией уровня «Комплексная автоматизация». Серверу 1С — порядка 16–24 ГБ, СУБД — 16–32 ГБ. Если оба компонента на одной машине, разумная конфигурация — 48–64 ГБ ОЗУ. Для небольшой базы на 5–10 пользователей обычно хватает 32 ГБ суммарно.

rphost занимает почти всю памятьНехватка ОЗУ на сервере 1С

Посмотрите потребление процессов rphost в диспетчере задач в час пик

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

Проверьте счётчики использования pagefile в мониторе ресурсов

Отчёты формируются минутамиВозможен недостаток памяти у СУБД или неоптимальные запросы

Сравните время формирования в часы пик и в пустой базе

Память занята, но свободен standby-кэшЭто норма для Windows и SQL Server

Смотрите на доступную, а не на свободную память

Как измерить реальное потребление памяти

Прежде чем покупать память, измерьте фактическую нагрузку в часы пик. На Windows это делается через «Диспетчер задач» и «Монитор ресурсов»: смотрите суммарное потребление процессов rphost (сервер 1С), sqlservr.exe (MS SQL) или postgres.exe, а также показатель доступной памяти и активность файла подкачки.

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

Порядок оценки потребности в памяти
  1. 1
    Замерьте потребление памяти процессами rphost и СУБД в час пик в течение нескольких дней
  2. 2
    Определите доступную (не свободную) память и интенсивность использования файла подкачки
  3. 3
    Посчитайте число активных сеансов и среднее потребление на сеанс
  4. 4
    Рассчитайте целевой объём: текущее потребление плюс запас 25–30% на рост и пики
  5. 5
    После добавления памяти повторите замеры и сравните время типовых операций

Настройки, которые экономят память без апгрейда

Часть проблем решается конфигурацией, а не железом. Для MS SQL Server обязательно ограничьте максимальный объём памяти сервера (параметр max server memory), иначе СУБД постепенно заберёт почти всю ОЗУ, оставив сервер 1С и операционную систему на голодном пайке. Оставьте системе и серверу 1С гарантированный резерв.

В свойствах кластера 1С настройте ограничения рабочих процессов: максимальный объём памяти на процесс, количество соединений на процесс, интервал перезапуска. Регулярный перезапуск rphost (например, раз в сутки в нерабочее время) сбрасывает накопленную фрагментацию памяти и утечки в сторонних компонентах.

На клиентских машинах проверьте разрядность: 64-разрядный клиент 1С может использовать больше памяти на тяжёлых операциях, тогда как 32-разрядный ограничен примерно 2 ГБ на процесс и падает с ошибкой «Недостаточно памяти» на больших отчётах даже при свободной ОЗУ в системе.

Терминальный сервер и тонкие клиенты

Если пользователи работают с 1С через RDP на терминальном сервере, вся память расходуется на одной машине. Расчёт: 4–8 ГБ на систему плюс примерно 0,5–1,5 ГБ на каждую активную сессию в зависимости от конфигурации и привычек пользователей (открытые отчёты, несколько окон, Excel рядом с 1С).

Для 20 терминальных пользователей типовой ориентир — 32–48 ГБ ОЗУ. Следите за «тяжёлыми» сессиями: один пользователь, запустивший свёртку базы или огромный отчёт в своей сессии, способен замедлить всех остальных. Такие операции правильнее выносить на сервер 1С в виде фоновых заданий.

Где какой объём памяти уместен

Один компьютер, файловая база

8–16 ГБ. Подходит для 1–2 пользователей; ограничение — размер базы и блокировки при совместной работе

Сервер 1С + СУБД, до 10 пользователей

32 ГБ суммарно. Достаточно для небольшой базы; следите за лимитом памяти SQL Server

Сервер на 20–50 пользователей

64–128 ГБ, желательно разнести сервер 1С и СУБД на разные машины при росте нагрузки

Терминальный сервер на 20 сессий

32–48 ГБ плюс отдельный сервер для базы; контролируйте тяжёлые операции в пользовательских сессиях

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

Самая распространённая ошибка — оценивать память по занятому объёму в диспетчере задач без учёта кэша. Windows и SQL Server специально держат память занятой под кэш: высокий процент использования сам по себе не означает нехватку. Смотрите на доступную память и свопинг.

Вторая ошибка — добавлять память, когда узкое место в дисковой подсистеме. Медленный HDD или перегруженная сеть в файловом режиме дают те же симптомы «тормозов», и апгрейд ОЗУ ничего не изменит. Сначала замерьте, потом тратьте бюджет.

Типичные ошибки
01
Не ограничена память SQL Server — СУБД вытесняет сервер 1С, сеансы начинают отваливаться
02
Покупка ОЗУ вместо замены HDD на SSD — симптомы остаются, потому что узкое место был диск
03
32-разрядный клиент на тяжёлых отчётах — ошибки «Недостаточно памяти» при свободной ОЗУ
04
Один rphost на всех пользователей без ограничений — при сбое процесса отключаются все сеансы сразу
05
Расчёт «впритык» без запаса на рост базы — через полгода проблема возвращается

Как проверить, что памяти стало достаточно

После апгрейда или перенастройки зафиксируйте результат измерениями, а не ощущениями. Сравните время выполнения типовых операций — открытие базы, проведение документа, формирование стандартного отчёта — до и после изменений в одинаковых условиях.

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

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

Доступная память в час пик
Норма

Стабильно остаётся резерв от 15–20% объёма

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

Доступной памяти почти нет, растёт файл подкачки

Использование pagefile
Норма

Минимальная активность свопинга

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

Постоянная запись и чтение из файла подкачки

Время формирования типового отчёта
Норма

Сократилось или стабилизировалось в часы пик

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

Не изменилось — узкое место не в памяти

Ошибки «Недостаточно памяти» у пользователей
Норма

Прекратились

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

Повторяются — проверьте разрядность клиента и лимиты кластера

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

Итог

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

Файловой 1С хватает 8–16 ГБ на клиенте; серверу с СУБД нужен расчёт по числу пользователей и размеру базы с запасом 25–30%. Сначала измеряйте фактическое потребление в час пик, ограничивайте память SQL Server и только потом покупайте железо.

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

Хватит ли 8 ГБ ОЗУ для 1С:Бухгалтерии?

Для одного пользователя с файловой базой небольшого размера — да, при условии что параллельно не запущены тяжёлые программы. Если на компьютере постоянно открыты браузер с десятками вкладок, Excel и почта, комфортнее будет с 16 ГБ.

1С пишет «Недостаточно памяти», хотя ОЗУ свободна. Почему?

Чаще всего это ограничение 32-разрядного клиента: один процесс не может использовать больше примерно 2 ГБ адресного пространства независимо от объёма установленной памяти. Решение — 64-разрядный клиент или выполнение операции на сервере.

Нужно ли ограничивать память SQL Server для 1С?

Да, если сервер 1С и СУБД работают на одной машине. Без ограничения SQL Server постепенно займёт почти всю память под кэш, и серверу 1С с операционной системой не хватит ресурсов. Задайте max server memory с резервом под ОС и rphost.

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

Ориентировочно 0,3–1 ГБ на активный сеанс: лёгкие конфигурации ближе к нижней границе, ERP и интенсивная работа с отчётами — к верхней. Точное значение определяется замером потребления rphost под вашей реальной нагрузкой.

Поможет ли добавление памяти, если 1С тормозит?

Только если нехватка памяти подтверждена замерами: высокое использование pagefile, почти нулевая доступная память в час пик. Если тормоза вызваны медленным диском, сетью или неоптимальными запросами, апгрейд ОЗУ эффекта не даст.

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

Ориентир — 64–128 ГБ в зависимости от конфигурации и размера базы, причём при такой нагрузке имеет смысл разнести сервер 1С и СУБД на разные машины. Точный объём определяйте по замерам потребления в пиковые часы с запасом на рост.